{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "7dd11543-09db-42b9-97c6-2732190e8aec",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入必要的库\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.metrics import classification_report, confusion_matrix\n",
    "from sklearn.preprocessing import StandardScaler\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "3ecabd52-b3b0-4fee-9a36-a4528648f403",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[5.1 3.5 1.4 0.2]\n",
      " [4.9 3.  1.4 0.2]\n",
      " [4.7 3.2 1.3 0.2]\n",
      " [4.6 3.1 1.5 0.2]\n",
      " [5.  3.6 1.4 0.2]\n",
      " [5.4 3.9 1.7 0.4]\n",
      " [4.6 3.4 1.4 0.3]\n",
      " [5.  3.4 1.5 0.2]\n",
      " [4.4 2.9 1.4 0.2]\n",
      " [4.9 3.1 1.5 0.1]\n",
      " [5.4 3.7 1.5 0.2]\n",
      " [4.8 3.4 1.6 0.2]\n",
      " [4.8 3.  1.4 0.1]\n",
      " [4.3 3.  1.1 0.1]\n",
      " [5.8 4.  1.2 0.2]\n",
      " [5.7 4.4 1.5 0.4]\n",
      " [5.4 3.9 1.3 0.4]\n",
      " [5.1 3.5 1.4 0.3]\n",
      " [5.7 3.8 1.7 0.3]\n",
      " [5.1 3.8 1.5 0.3]\n",
      " [5.4 3.4 1.7 0.2]\n",
      " [5.1 3.7 1.5 0.4]\n",
      " [4.6 3.6 1.  0.2]\n",
      " [5.1 3.3 1.7 0.5]\n",
      " [4.8 3.4 1.9 0.2]\n",
      " [5.  3.  1.6 0.2]\n",
      " [5.  3.4 1.6 0.4]\n",
      " [5.2 3.5 1.5 0.2]\n",
      " [5.2 3.4 1.4 0.2]\n",
      " [4.7 3.2 1.6 0.2]\n",
      " [4.8 3.1 1.6 0.2]\n",
      " [5.4 3.4 1.5 0.4]\n",
      " [5.2 4.1 1.5 0.1]\n",
      " [5.5 4.2 1.4 0.2]\n",
      " [4.9 3.1 1.5 0.2]\n",
      " [5.  3.2 1.2 0.2]\n",
      " [5.5 3.5 1.3 0.2]\n",
      " [4.9 3.6 1.4 0.1]\n",
      " [4.4 3.  1.3 0.2]\n",
      " [5.1 3.4 1.5 0.2]\n",
      " [5.  3.5 1.3 0.3]\n",
      " [4.5 2.3 1.3 0.3]\n",
      " [4.4 3.2 1.3 0.2]\n",
      " [5.  3.5 1.6 0.6]\n",
      " [5.1 3.8 1.9 0.4]\n",
      " [4.8 3.  1.4 0.3]\n",
      " [5.1 3.8 1.6 0.2]\n",
      " [4.6 3.2 1.4 0.2]\n",
      " [5.3 3.7 1.5 0.2]\n",
      " [5.  3.3 1.4 0.2]\n",
      " [7.  3.2 4.7 1.4]\n",
      " [6.4 3.2 4.5 1.5]\n",
      " [6.9 3.1 4.9 1.5]\n",
      " [5.5 2.3 4.  1.3]\n",
      " [6.5 2.8 4.6 1.5]\n",
      " [5.7 2.8 4.5 1.3]\n",
      " [6.3 3.3 4.7 1.6]\n",
      " [4.9 2.4 3.3 1. ]\n",
      " [6.6 2.9 4.6 1.3]\n",
      " [5.2 2.7 3.9 1.4]\n",
      " [5.  2.  3.5 1. ]\n",
      " [5.9 3.  4.2 1.5]\n",
      " [6.  2.2 4.  1. ]\n",
      " [6.1 2.9 4.7 1.4]\n",
      " [5.6 2.9 3.6 1.3]\n",
      " [6.7 3.1 4.4 1.4]\n",
      " [5.6 3.  4.5 1.5]\n",
      " [5.8 2.7 4.1 1. ]\n",
      " [6.2 2.2 4.5 1.5]\n",
      " [5.6 2.5 3.9 1.1]\n",
      " [5.9 3.2 4.8 1.8]\n",
      " [6.1 2.8 4.  1.3]\n",
      " [6.3 2.5 4.9 1.5]\n",
      " [6.1 2.8 4.7 1.2]\n",
      " [6.4 2.9 4.3 1.3]\n",
      " [6.6 3.  4.4 1.4]\n",
      " [6.8 2.8 4.8 1.4]\n",
      " [6.7 3.  5.  1.7]\n",
      " [6.  2.9 4.5 1.5]\n",
      " [5.7 2.6 3.5 1. ]\n",
      " [5.5 2.4 3.8 1.1]\n",
      " [5.5 2.4 3.7 1. ]\n",
      " [5.8 2.7 3.9 1.2]\n",
      " [6.  2.7 5.1 1.6]\n",
      " [5.4 3.  4.5 1.5]\n",
      " [6.  3.4 4.5 1.6]\n",
      " [6.7 3.1 4.7 1.5]\n",
      " [6.3 2.3 4.4 1.3]\n",
      " [5.6 3.  4.1 1.3]\n",
      " [5.5 2.5 4.  1.3]\n",
      " [5.5 2.6 4.4 1.2]\n",
      " [6.1 3.  4.6 1.4]\n",
      " [5.8 2.6 4.  1.2]\n",
      " [5.  2.3 3.3 1. ]\n",
      " [5.6 2.7 4.2 1.3]\n",
      " [5.7 3.  4.2 1.2]\n",
      " [5.7 2.9 4.2 1.3]\n",
      " [6.2 2.9 4.3 1.3]\n",
      " [5.1 2.5 3.  1.1]\n",
      " [5.7 2.8 4.1 1.3]\n",
      " [6.3 3.3 6.  2.5]\n",
      " [5.8 2.7 5.1 1.9]\n",
      " [7.1 3.  5.9 2.1]\n",
      " [6.3 2.9 5.6 1.8]\n",
      " [6.5 3.  5.8 2.2]\n",
      " [7.6 3.  6.6 2.1]\n",
      " [4.9 2.5 4.5 1.7]\n",
      " [7.3 2.9 6.3 1.8]\n",
      " [6.7 2.5 5.8 1.8]\n",
      " [7.2 3.6 6.1 2.5]\n",
      " [6.5 3.2 5.1 2. ]\n",
      " [6.4 2.7 5.3 1.9]\n",
      " [6.8 3.  5.5 2.1]\n",
      " [5.7 2.5 5.  2. ]\n",
      " [5.8 2.8 5.1 2.4]\n",
      " [6.4 3.2 5.3 2.3]\n",
      " [6.5 3.  5.5 1.8]\n",
      " [7.7 3.8 6.7 2.2]\n",
      " [7.7 2.6 6.9 2.3]\n",
      " [6.  2.2 5.  1.5]\n",
      " [6.9 3.2 5.7 2.3]\n",
      " [5.6 2.8 4.9 2. ]\n",
      " [7.7 2.8 6.7 2. ]\n",
      " [6.3 2.7 4.9 1.8]\n",
      " [6.7 3.3 5.7 2.1]\n",
      " [7.2 3.2 6.  1.8]\n",
      " [6.2 2.8 4.8 1.8]\n",
      " [6.1 3.  4.9 1.8]\n",
      " [6.4 2.8 5.6 2.1]\n",
      " [7.2 3.  5.8 1.6]\n",
      " [7.4 2.8 6.1 1.9]\n",
      " [7.9 3.8 6.4 2. ]\n",
      " [6.4 2.8 5.6 2.2]\n",
      " [6.3 2.8 5.1 1.5]\n",
      " [6.1 2.6 5.6 1.4]\n",
      " [7.7 3.  6.1 2.3]\n",
      " [6.3 3.4 5.6 2.4]\n",
      " [6.4 3.1 5.5 1.8]\n",
      " [6.  3.  4.8 1.8]\n",
      " [6.9 3.1 5.4 2.1]\n",
      " [6.7 3.1 5.6 2.4]\n",
      " [6.9 3.1 5.1 2.3]\n",
      " [5.8 2.7 5.1 1.9]\n",
      " [6.8 3.2 5.9 2.3]\n",
      " [6.7 3.3 5.7 2.5]\n",
      " [6.7 3.  5.2 2.3]\n",
      " [6.3 2.5 5.  1.9]\n",
      " [6.5 3.  5.2 2. ]\n",
      " [6.2 3.4 5.4 2.3]\n",
      " [5.9 3.  5.1 1.8]]\n",
      "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n",
      " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2\n",
      " 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n",
      " 2 2]\n"
     ]
    }
   ],
   "source": [
    "# 1. 加载Iris数据集\n",
    "iris = datasets.load_iris()\n",
    "X = iris.data  # 特征（花萼长度、花萼宽度、花瓣长度、花瓣宽度）\n",
    "y = iris.target  # 标签（0: setosa, 1: versicolor, 2: virginica）\n",
    "feature_names = iris.feature_names\n",
    "target_names = iris.target_names\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "10ac6fae-1669-454f-b3e0-6b269b120986",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 2. 数据预处理（标准化）\n",
    "scaler = StandardScaler()\n",
    "X_scaled = scaler.fit_transform(X)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ed076931-0e41-4d27-97e8-b08068f87938",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 3. 划分训练集和测试集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "0c85eaba-4d1d-41bb-a8e5-e181bc6c33d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 4. 创建KNN模型（默认k=5）\n",
    "knn = KNeighborsClassifier(n_neighbors=1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "d22c822f-5b29-4d7c-929f-db3e94631ad3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-1 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-1 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-1 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-1 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-1 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>KNeighborsClassifier(n_neighbors=1)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;KNeighborsClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.neighbors.KNeighborsClassifier.html\">?<span>Documentation for KNeighborsClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>KNeighborsClassifier(n_neighbors=1)</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "KNeighborsClassifier(n_neighbors=1)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 5. 训练模型\n",
    "knn.fit(X_train, y_train)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "27bad797-c351-4d54-98c6-02e24f50b3d2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 0 2 1 1 0 1 2 2 1 2 0 0 0 0 1 2 1 1 2 0 2 0 2 2 2 2 2 0 0 0 0 1 0 0 2 1\n",
      " 0 0 0 2 1 1 0 0]\n",
      "[1 0 2 1 1 0 1 2 1 1 2 0 0 0 0 1 2 1 1 2 0 2 0 2 2 2 2 2 0 0 0 0 1 0 0 2 1\n",
      " 0 0 0 2 1 1 0 0]\n"
     ]
    }
   ],
   "source": [
    "# 6. 预测测试集\n",
    "y_pred = knn.predict(X_test)\n",
    "print(y_pred)\n",
    "print(y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "5512554d-525e-48d1-be73-48b786ef6b5e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分类报告：\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "      setosa       1.00      1.00      1.00        19\n",
      "  versicolor       1.00      0.92      0.96        13\n",
      "   virginica       0.93      1.00      0.96        13\n",
      "\n",
      "    accuracy                           0.98        45\n",
      "   macro avg       0.98      0.97      0.97        45\n",
      "weighted avg       0.98      0.98      0.98        45\n",
      "\n",
      "\n",
      "混淆矩阵：\n",
      "[[19  0  0]\n",
      " [ 0 12  1]\n",
      " [ 0  0 13]]\n"
     ]
    }
   ],
   "source": [
    "# 7. 评估模型\n",
    "print(\"分类报告：\")\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "\n",
    "print(\"\\n混淆矩阵：\")\n",
    "print(confusion_matrix(y_test, y_pred))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "666a7400-341a-4d2e-9f23-5156f965d85b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAIgCAYAAAB9Bw3cAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA4JdJREFUeJzs3Xd4FMUbwPHv3l0K6QSSkECoUqQqXUCp0gSlKU0sIIJSLDRRkaooRRQp8kOlKAIqIiBVBESRJtIJ0kINIQTS+93N74+Yk5AE7sJdGu/nefaB253ZfXdzuex7szOjKaUUQgghhBBCCJEHdPkdgBBCCCGEEOL+IQmIEEIIIYQQIs9IAiKEEEIIIYTIM5KACCGEEEIIIfKMJCBCCCGEEEKIPCMJiBBCCCGEECLPSAIihBBCCCGEyDOSgAghhBBCCCHyjCQgQgghhBBCiDwjCYgQQhRw8fHxmEym/A7jvpGSkkJKSkp+hyGEEEWWJCBC3Ofi4uIyvU5JSeHIkSN3rbdv3z5GjRpFZGQkAJ9//jkPPPCAZfvZs2fp3bu3ZXt2vv76a7Zu3ZplvdFoRNM0duzYYeVZ5D9XV1c2bdqUZf0DDzzA559/ftf60dHRaJrGnj17smzz9PTkl19+ues+3n33XZo1a2ZdwFbYs2cPmqYRHh5ut33ay+DBg+nVq1eW9VOmTKFx48ZW7aNLly4MHjw4y/pBgwbx/PPPWx1LamoqM2fO5OLFi1bXyUm1atX48MMP73k/QghRkBnyOwAhRP45fPgwzZs358SJEwQFBQEwY8YMPv/8cy5dunTHusWLF2fPnj3UqVOHjRs3WtanpKQwf/58JkyYQN++fSlRokS29Y1GI2PHjmXMmDG0adMmV/F/8cUXDBw48K7lAgICCuRN9IQJE5g4cWKmdY888ki2ZTt06GD5f/PmzW1Ozr788kv++usv5s+fn2VbYmJitjfPFy5cAODMmTNER0dn2ubi4kKFChVsiiG/nT9/PtuYFyxYkG35lStXWv4fGhpK+fLliYmJ4erVq5nKmUwmtmzZwvz58/npp58wGLL+aa1UqRJOTk6W12fPniUtLS1LudTUVK5fv87JkyezbCtfvjyurq45n6AQQhQSkoAI4WAtWrTg/PnznD9/PtN6o9FI7969WbVqFZ9++inDhg1j8eLFvPjii4wYMYIZM2Zk2VfGDatSCoAdO3bQsmVLunfvzg8//JClfMb+Mm6ebqWUYtSoUTz00EOW5ANgwIABTJw4kU2bNtG+ffscz6ty5cps3bqVYcOGZXo8SK/Xc/XqVRYvXkyXLl1yrP/dd9+RkpLCgAEDALh48SKJiYkAlv1dvHgx041Y2bJlcXNzy7SfoKAgfv31V8vrFi1a8Nprr9G1a1cA1q1bx8yZM3OMIzsXL16kcePGHDp0CH9//2zL3H4jqpTi8uXLWW4c09LSuHbtmmW9q6ur5WcxdOhQy7f4cXFxNGzYkBUrVlCnTp1M+3jwwQdZuHChpXXj9mtwJ3Fxcbz55pt8+eWXjB07FqUUmqZlKrNv3z5atmyZ4z4effTRLOuqVq2a7U2yI916vOjoaOLi4rLEEBkZSXJycqb1FSpUwMXFhdKlSxMSEmJZP3ToUEqWLMmECRMy7WPs2LGWVo0MpUuXBmD16tW8+OKLOcZYq1atbNefPn06Uwth69atLQne7T7++GM+/vjjLOt3796dY+tOcnIyDz74ICtWrKBRo0Y5xieEEAWCEkI4VPPmzVW5cuUyrUtLS1NPP/200jRNLViwwLJ+0aJFClA6nU7t2rUry77Gjx+vbv213b59uwIUoFasWJGlfMb+QkNDs2ybMmWKcnV1VUePHs2y7a233lIVKlRQERERWbbNmjXLckxrl9KlS2fah9lsVrVr11bvv/++UkqpsLAw1bx587vuZ/v27Zn2s3DhQhUUFKRCQkIsS0BAgPrggw8sr6dNm6YCAgKynMedtGvXTo0fP/6OZTKura1LnTp1Mu0nJSVFhYSEqBMnTqjt27erI0eOqJCQEGU0GtXp06dVSEiI2r59uzp8+LAKCQlRsbGxOcb0zjvvqKZNm1qu8TfffKPKli2rAgMD1dq1a3Osl/E+SktLU0op9e2336o+ffpkKjNv3jz18ssv3/GaOFpurjegDh48mGk/58+fVyEhIWr37t1q7969KiQkRN24cUNFRESokJAQtWfPHrVnzx4VEhKiLl26lKnuokWLMr2fd+7cqR5//HHL6yNHjqimTZuqlJQUpZRSoaGhClCnT5/OtJ9y5cqphQsXKqWUiouLU/Xq1VP//POPZfulS5dUvXr1VFhYmNXXZ/HixerBBx+0HFsIIQoqSUCEcLDbE5CM5EOn06lFixZlKptxU+vl5aWqVKmikpKSMm3PKQHx8vJSJUuWVNeuXct2f7cnINOnT1c6nU4tWbIk25iTkpJU/fr1VZUqVdTZs2czbbt582amG/4xY8YoQD388MOqbNmyatGiRertt99W+/bts5Q5c+ZMpn18//33qmTJkio2NlZ9/fXXyt3dXd24cSPTNcou4bjdwoULrboBtSUB2bp1q3J3d1cxMTFW11FKKRcXF7Vx48Ys6ytVqqTmz5+fY72jR49mG/PVq1dViRIlsqxfvnx5jvt65513VP369dXChQtVzZo1lbOzsxoyZIiKioq6Y+wZ76PQ0FAVEhKixo4dq6pVq5bp5zx48GDVoEEDy+vIyEirr40jDBo0SPXs2TPL+smTJ6tGjRrdsW69evWyXNepU6eqESNGZFnfrl27THWvXr2q/vzzz2x/Ntkt3bt3V9u3b1eJiYmZ9lOuXDn18ccfq5CQELVv3z4FqNWrV1uu7+bNmxWgtm7dqkJCQrL8HmbHaDSqoKAgS2IjhBAFlSQgQjjYrQlIWlqaeuaZZ5Rer1fffvttlrIZCUPGjfWIESMybc8pAZk7d65ycXFR3bt3z3Z/GQlITEyM6tu3r9Lr9eqLL764Y9w3b95UrVu3VsWKFVNjx45VZrM50/ajR4+qLl26KEC9/fbbav78+apSpUpq+vTpysfHR3l6eqq33nory418cnKyqlSpkmrXrp0aM2aMKlGihHrzzTczlbElAbm9dal06dKZEruvv/7apgSkZcuW6vnnn7e6fIbjx4+r+fPnW5KN3bt3q7Nnz6pFixapI0eOqISEBHXx4sUs9TISkFGjRqnJkydbboIzEpAePXqoyZMnq8mTJysfH5+7JiCA8vHxUUOHDlXnz5+3KvaM91G7du2sblWYPHlyjvurUqWK6tKlS5b1DRs2VE8++aRSSqmzZ8+qLl26KF9fX+Xp6amaNGmitm7dalW8Sil15coV9ddff6kXX3xRRUdHq4sXL6qdO3eqvXv3WloDQ0JCsq1br1491aZNG8t1LV++vCUBqVSpkmV9y5YtsyQgGWJiYlRUVJT66aefVIsWLVRUVJSKiopSf/zxh2rUqJGKiIhQUVFRKiEhIdv65cqVs+l6V6pUyarr8vbbb6uqVataVVYIIfKLjIIlRB4xmUz07duX77//nhUrVtC7d+8cy7Zp04ZBgwYxa9Ys/vzzz7vuu3r16kyYMIFVq1Zl6jh7u/j4eMLDw9m2bRvXr19H07QcF19fX+bOncvkyZMto1KZTCamTp3KI488Qq1atTh48CCrV6/m/ffftxxj5MiRhIWFMXPmTL788ktq1KiRbV+BiIgIZs+ejYeHBxMnTuT8+fOWY2d01m3ZsqVlXU4jSaWlpXHy5EnLYjQauXr1quX17R2G7yQiIoLffvvN0n/EFm5ubrz11lu4u7sD8Prrr/Ptt9/ywgsvUKtWLUaNGsWzzz6bpV5AQACTJ0/Gy8sLAB8fHyZPnoynpydvv/12pv4gI0aMoHbt2jme+40bN6hcuTLbtm1jyJAhJCUlZdp+6xIVFZUllp9//hmlFLNmzaJGjRqo9C+pUErxzjvv0Lx5c8vrd999N8dr0a9fPzZu3EhsbKxl3dmzZ9m3b5/lGjzxxBPExMSwdOlSVq1aha+vL506dcrSVyongYGBTJkyhcuXL+Pp6cn69et58cUXadiwIT179mT37t3UqVOHM2fOZKn76quv0rx5c8vrAQMG8Nhjj9GhQwdeeOEFy/pWrVrlOBqWl5cX1apVo0uXLuzYsYPixYtTvHhxmjVrxt69e/H392fo0KF37K/To0cPlFKWn8X+/fst1/f06dNAeud3pVS255GdTp068c8//3Dw4EGrygshRL7Ir8xHiPtF8+bNVZkyZVTPnj0t32Z+/vnn2Za9tcUiNjZWlStXLtOjWDm1gGzfvl0ZjUbVoEGDTI9i3akPyI0bNyyPezRq1Ej17t3b8nrp0qWWb+Fv99JLL6n27durRYsWqdTUVMv6rVu3qrfeeivLMUaPHp3l8ZO0tDS1ZMkSpdfr1W+//aaUUio1NTXTIz+3L9k9RmTvR7Ayzvvy5ctWlc8QGRmpqlWrpkaPHm1Z16hRI0srwWeffaYMBoPlXG83YMAAq87j9r40Gf0LcrPMmjXLsp/b+4DMmjVL6XQ65e7ublmcnJxU8+bNrboeoaGhStO0TI/4TZo0SXl7e6ukpCQVGRmpALVy5UrL9ujoaPXGG2+oY8eOWXWMkSNHqmrVqqmbN28qpZSlBU4ppU6fPq0CAgLUwIEDs637+++/W32dfvnllxxjuLW/0d9//61WrFihjh8/rkJCQlSXLl1U3759c6x7ax+QqKgoBahixYpZrrebm1uOv7t3kpKSolxdXS39q4QQoiCSUbCEyAOXL1/mp59+Yu3atcyYMYM33niDZs2aUaNGjRzreHp68sUXX/D444/z7rvvZjsq1q30ej2LFy+mbt26vPrqq9mOinUrX19ffH19gfThSfv06UO1atUAOHXqlCWG233++eeWUbggfTQvgIMHD3LgwAHLa0j/ljijdUTdMvrSwYMHGTx4MGPHjuXixYv079+fRo0aMWjQoDvGnEEpxT///EOzZs0yjWoEWUfBynDy5ElKlixJyZIlc9zvmTNncHZ2tox4ZI0LFy7QqVMnkpKSsp2/Yfbs2bz++ut88cUXPPbYY5m2JSYmkpiYyOuvv57pm/ecODk5ERkZiZOTE97e3pQvXz7Tz+Ldd99lx44d/PHHHxw9epSHHnqIc+fOUa5cuTvuN2M42KSkJK5du0abNm3YtWtXtse/cOHCXfdXvnx5mjVrxsqVK3nuuecAWL58OT169MDV1RVXV1fq1KlD//79WbduHe3ataNt27bZjvx0O7PZzJtvvsmnn37Ktm3bKF68eKbtISEhtG3bllq1ajF37twsdW/evEm5cuX4/fff73osSB95LTIyEl9fX3S6rA8NBAYGUq1aNf744w+ee+45EhISMBgMeHt7Z/pduF1aWhp6vZ5z585hMpnYvXt3tuVSU1NJSkqiWLFiVsXr7OxMmTJl8nyEMiGEsEn+5j9CFH3NmzdXzs7OasuWLUqp9BF4vLy8VI0aNbK0DGTXYjFo0CDLqFh3agHJMHXqVAXpo2LdqQUkw5EjRxSgjhw5kimOYsWKZVu+Tp06ufrGPaNfRmpqqipVqpRlffHixVWXLl3Ub7/9pp566qls63p7e2eKISkpKVcxvPPOO3f4SSk1ePBg5e/vf8cyt1q3bp3y9/dXgYGBWZ67b9SokSpfvrzS6XSZRjq7VcbP09Ylp5aIW0fBUkqptm3bqt69e9/1PNasWaOcnJzU999/f9djly9f3qprs3DhQuXk5KRu3LihDh48qAC1Y8cOy/bw8HA1bNgwFRAQoACl1+vVU089le3IaxkuX76s2rZtqwIDAxWgdu/ebdk2f/585eXlpYoXL67atm2bbd+Le2kxyu53KCAgwPK+njx5sqpevbqaOnWqun79unr++efv2AJSvHhxtWzZMuXu7n7XY9963azRuHHjTCNzCSFEQSN9QITIA4GBgTz++OMAlCtXjs8++4zjx4/zxhtv3LXu9OnTCQ4O5sUXXyQ5Ofmu5UeNGkWDBg0YOnQoERERdy3/5ZdfUr169UzzF0RERFCqVKlsy69bt47Tp09nWn777Tf0ej1Tp07FYDCwcePGLGW6d+8OpH+L/tprrzFr1iwOHjxIZGQkq1evpn79+gD07NmTkJAQy5LdHB6urq6Z+ifcuHGD+vXr07lzZ/z9/Xn11Vfx8PDg/fffz1RuypQpd7wWLi4uVl1jgB9++IHOnTvTp08fxo4dm22ZGzdusHr1al5++WUgfe6Kv/76y7L91Vdf5ejRo5blgQceoGfPnpnWZbcsWrTIqhjnzp3L+vXr7zoPSkREBL6+vnTv3p20tDS6detG5cqVuXz5MmlpaaSlpbFy5UpcXFwYMmSIVcd++umn0ev1rF69muXLl1O2bNlMLUABAQHMnj2bq1evcvjwYd5++21+/vnnHPuWJCQkULduXa5evZpp3pdbxcbG0r17d9atW2fpe7Fz505SU1OB9Lk8br2OI0eOxMPDg4MHD971mt+pVSwlJYWFCxfSvn17xo4de9dJL1NTU4mJicHX15eYmBhWr16NwWBg+fLllut94cIFateuTf369W2e1yMtLQ0XFxeb6gghRJ7Kz+xHiPtBdvOAKKVUjx49FKC+//57y7qcWix++eUXS0vArb+22bWAKJU+IpOLi4ulfE4tIGfPnlXFihVTixcvzrR+6NChqlmzZladX2xsrGrSpIl69NFHldlsVi+//LKqVauWVcO03rx5Uy1cuFC1bNlStW3bVj311FNq0KBBmcosX748SwvIrX777TdVsWJF1aJFCxUTE2P5VnrHjh3Kz89PdenSxeo+HR999JECrJpHISUlRa1fv14pld7HI7sWkIkTJ2Za9/fffysgy9wSSqX/zLjLN+G3z81xu9tbQJRS6tdff1Vubm5q6NChWVrcMowePVo1btzY8jo2NlY1btxYVa5cWe3atUu98sorSq/Xq48++uiOx7/d008/rTp27KgqVqyoxo4da1l/4MAB5e/vr/bu3ZupfM2aNdVTTz2V4/42bdqkEhMTVVxcXLYtIBUqVMhSp3bt2jmO2NWgQYM7Xm+dTqeSk5NzjCcgIEAtXLhQPfvssyowMFCdOnVKAero0aOZWkB2796trl+/bql34sQJBaiTJ09a1k2bNk05OTmp2bNnq+XLlys/Pz/12GOPZRqe2lrly5dXL730ks31hBAir0gLiBD5ZMGCBQQFBTFw4MAcZ0TOkDEqVkxMjFX7zhgV607lY2Nj6dGjB02aNLE8p5/h+PHjVK1a9a7H2b59Ow0aNCAqKorvvvsOTdP45JNPKF68OPXr12fdunWYzeZMdZRSrFy5kqeeeopSpUoxatQoypUrZ/nmOzo6OtNoTWFhYVmOm5aWxqZNm+jYsSNt27bl6aefZsuWLZaRpACaN29u6ZNSqVIlBg0alONz9hkaNmwIwOHDh+967s7OznTs2PGOZW7vM3DlyhUMBkO2rUtLliyhatWqmVp/bl3KlSt3xz5Dt/vzzz958cUXcXd3Z9euXWzevJlq1aqxcOFCkpKSMpXdtGlTphm2PT09WbBgATdu3KBp06bMnz+fSZMmMXLkSKuPD/Dcc8+xZcsWzp07l2kEsFq1auHt7c0LL7zAypUr2b59O2+99RbHjh3j6aefznF/7dq1u2NfiOz6aISFhREcHJxl/cmTJ9m/fz8//vhjttf79ddfp1KlSndsSfj6669ZsGABGzduZM2aNZY+UykpKUydOpXp06cD6X1z5s2bZ6m3adMmfH19qVy5smXdK6+8whNPPMHw4cPp3bs3FSpUsIwOZovY2FguXLhAvXr1bKonhBB5Kr8zICGKupxaQJRSavPmzUrTNNWkSROVlpZ2xz4bGaNiYUULiFLKMipWdvv7+++/VfXq1VWdOnXUjRs31KFDh9To0aPVhg0b1Pbt25WTk5P66quvsuwzJSVFbd26VU2YMEHVqVNHOTk5qSFDhmSZnTslJUVNnDhReXt7q1KlSqmXX35Zbdq0ybK9W7duqm/fvmrt2rWZWhus7QMyZcoU5e3trQYPHpxlksNbn8u/9To99dRTqkSJEtnOxZEhNTVVeXl5qZkzZ+ZYJjvZtYA0a9ZMDRgwINNIXv369VP16tXLdh9PP/20eu211yyv3333XTV37lz122+/qZ9//llpmqb27Nlzxzhee+01VapUKVW9enVlMBjUM888YxnJLCkpyTKXiLe3t2UUrF9//VVB+iR4q1atUuPHj7e8b5o1a6bmzJmj+vTpo1xdXZWfn5/q16+fmjZtmlqzZo2Ki4u7YzxpaWnKz89PPfzww1m2hYaGql69eqmAgABVrFgxVatWrSwtcTnJrgXkiy++UH5+fpZRqEJCQtSPP/5oaZG43XfffaeCg4MtI3/9/PPPaty4cWr9+vXqwIEDql69emrw4MFZ6l2+fFmNGTNGVatWTen1etW7d2/LeyolJSVT/6aMxd/f39IimJKSoh544AHVv39/tW3bNvXpp5+qZ555Rrm5uamgoCD1zjvvqPHjx6uyZcsqJycn1aZNG/XOO++opUuXqlOnTt312mR8ptg6kpsQQuQlSUCEuI+kpqaq7t27K71er5577jlL4hAfH69atGih/Pz8lIuLi2rXrp2Kj4/PUt9oNKpmzZqpZs2aqQ8//PCuNzlxcXFq8eLFqnPnzpmGfc2JtY9gmc3mHB8nCgwMzJKAZLDm0arhw4erBg0a3LXcrbJLQObPn69cXV0z3Yi6ubmpb775Jsf9ZNwMK6XUp59+qqpVq6bc3d2Vj49PpiF+czJv3jzl7e2tRowYoS5cuJBtmdjYWPX5559btn/00UeqW7duasOGDcrX11d16NBBTZkyJcskflFRUerLL79UAwcOVA8//LCqWrWqVdfTEbJLQEJDQy0JesaiaZrq3Llzjvu59XqfOHFCNW7cWPn6+ioXFxfVrFkzdeXKlSx1kpKSVJ8+fdTMmTOzfZQuPj5ehYaGWpbz589n+l06ceKEqlixojpx4oSqWrWqqlevnho2bJhat26dMhqNlnImk0n98ssvauzYsapNmzaqePHidxwSOEO/fv1Uhw4d7lpOCCHyk6bULWM4CiGKvB9//JFy5coV6Uc01C1D/trq4sWLPPDAA+zfvz/TJICFgVKKxMREy2SI1jIajRgMMip7XnHU9Y6MjKR8+fJs3bo10yN1QghR0EgCIoQQt5k4cSIHDx7kp59+yu9QhLDaa6+9RkxMDIsXL87vUIQQ4o6kE7oQQtzm7bffJigoyKphjIUoCJKTk0lKSmLWrFn5HYoQws72799PixYtKF68OEFBQQwZMoSEhIRsy27cuJEaNWrg5uZGtWrVWLNmTabt06ZNo3Tp0ri7u9O8efMsk/nmFUlAhBDiNk5OTsybNw9/f//8DkUIq7i6uvK///0vy8zwQojCLTIyknbt2tGjRw+uX7/Ovn372LdvH2PGjMlS9syZM3Tv3p333nuPuLg4pk6dSs+ePTl58iQAS5cu5eOPP2bDhg1ER0fTqFEjOnXqRFpaWl6fliQgQgghhBBCFEShoaE0b96coUOHYjAYKFOmDP369WPnzp1Zyi5ZsoSmTZvSs2dP9Ho9Xbt2pVmzZnzzzTcALFy4kGHDhlGnTh2cnJyYNGkS165d47fffsvr06JI9jo0m82EhYXh6emZ646oQgghhBDCcZRSxMXFERQUlO08PvkpOTmZ1NRUh+w7u4FSXFxcsp13qEGDBqxevTpT3XXr1tGgQYMsZY8ePUrt2rUzratduzbHjh2zbB89erRlm6urK1WqVOHYsWO0adPmns7JVkUyAclp4ikhhBBCCFGwXLp0iTJlyuR3GBbJyclUKOdBeITJIfv38PAgPj4+07rx48czYcKEO9ZLS0tj8ODBhISEsHTp0izb4+LisoyC6O7ubjnW3bbnpSKZgGTMRnvp0qVMMyMLIYQQQoiCITY2luDgYMt9W0GRmppKeISJCwfK4+Vp35aZ2Dgz5eqdz3KPml3rx62uX7/OM888Q3h4ODt37iQwMDBLGU9Pzyyd0xMSEizX927b81KRTEAymrW8vLwkARFCCCGEKMAK6uPyHp4aHp72jc2M7feoR44c4YknnqBBgwasWbMmx3o1atRg//79Weo+8sgjlu1Hjx6lc+fOAKSkpHDq1Clq1qyZ29PJtYL1wJ0QQgghhBACSO9W0Lp1a3r16sWqVavumLRkdE5fu3YtJpOJFStW8Mcff9CvXz8A+vfvz5w5czh16hRJSUmMGTOGwMBAmjdvnlenYyEJiBBCCCGEELcxKbNDFlvMmzePyMhI5s+fj6enJx4eHnh4eFCjRg0gvT/JsmXLAKhWrRorVqxg9OjReHh4MGnSJFatWkWVKlUAGDBgAK+88grNmzenZMmSHD58mPXr12Mw5P0DUUVyJvTY2Fi8vb2JiYmRR7CEEEIIIQqggnq/lhFXxD/lHNIHxL/qhQJ3znmtSPYBEUIIIUTRZjKZ8mUCNWE9Jycn9Hp9foeRa2YUZuz7Pb2991dYSQIihBBCiEJDKUV4eDjR0dH5HYqwgo+PD6VKlSqwHc1F/pAERAghhBCFRkby4e/vj5ubm9zYFlBKKRITE4mIiADIdtjYgs6MGdt6bFi3TyEJiBBCCCEKCZPJZEk+SpQokd/hiLsoVqwYABEREfj7+xe6x7FMSmGyc1dpe++vsJJRsIQQQghRKGT0+XBzc8vnSIS1Mn5W0l9H3EpaQIQQQghRqNzLY1fR0bB0KezYAdExZrw8dTRqBP37Q0CA3UIU/yrMj8hJJ3THkRYQIYTDnT18ng/6fkJqcqrNdZVSLBi5lD/X7L97YSGEyEFiIgwdCoFBZt5408zm4xfZd/M0v/xznnETTJQJVvTtq7h5M78jFaLokxYQIYRDpaWmMb7LNK5duE7czXgmrh6Ns6uzZfuJE3D+PJjN6d8+1qsHun+/GlFKMe/1Rfz02UbWzNnI4tOf4R9cMn9ORAhRaMXFQZu2Zg4cNOPZai9+jxzF4J1g2W5KcCV+X3W+X/sI+/Y7s/M3HYWwz3SunTlzhgceeCC/wyhwzChM0gLiENICIoRwKCdnJ0YtHoKrmwt/bT7M+K7TiItJZckSqF/PRI0a8MQT0LkzNGwID1Qy8vHHEBX1X/IBMGzuS5J8CCFsphT06m3m78NGAoasoHj7PZmSDwC9ezLeLf8m4PVlXIpMokNHM/buslC+fHlcXV3x8PCwzGhdrlw53nzzTZKSkux2jMWLFwPQoUMHPvjgg7vWGTVqFFOmTMn1MVu0aMGECRNyXV/cn6QFRAjhcHWa12DK+rG8+8RU/tp8mCfLT2Nn9GhK6EKozSa8OIeGmUSCCLvQhtEjG/Pt+KUUT9gEwJsLB9NhQOt8PgshRGG0fz9sWK/D/8VNuJS7dseyTn7R+L7wE4dn9WXtWuje3b6xfP7557zwwguW1ydOnKBly5a4uLgwdepUux5r48aNVpW7fv26XY9blEgfEMeRFhAhRJ6o07wG41aNRelcMMQc5lEGUkdNwV/7C1ftJi5aNMW1E9RgNo+qAZbk44WPJPkQQuTe3HkK15JxuNU+Y1V51/LhuFUKY/Ycx8/XUL16dR599FGOHTtGixYtGDx4MJUqVSI4OJi4uDjOnDlDx44dKVmyJAEBAYwcOZKUlBQg/RHVGTNmUKFCBQICAnj99dcxmUyWfd/aMpGQkMCQIUPw9/fHx8eHTp06ceHCBSZPnsyyZctYtmwZ9erVA9LnWenVqxeBgYH4+voyYMCATJM+fvPNN1SrVo0SJUrw7LPPkpiY6PDrJIoeSUCEEHlmw+4aHDKPRikNJy3nP1oGLf1xhDNaP77/o2VehSeEKGLMZli5UuHa8DCazvpvnt0aH2bnDh3/zqHnEGlpafzyyy9s3bqVtm3bArBhwwZ27drF0aNH0ev1tGrVimrVqnHp0iWOHj3K0aNHGTNmDJCeCEybNo3Vq1dz8eJFfHx8uHz5crbHGjJkCPv37+fAgQNEREQQEBDAM888w7hx4+jbty99+/blwIEDKKXo3LkzACEhIZw/f560tDRLq83vv//OwIEDmTdvHteuXaNly5bs3190BwjJmAfE3ouQBEQIkUfS0mDeXBOuKhxNs+4D2NV8jXXrNC5dcnBwQogiKS4OUpJ1OPlF21TPyS8KwO4JyKuvvoqPjw8+Pj74+fkxcuRI3nnnHYYNGwbAk08+SalSpfDx8eHnn38mJSWFGTNmUKxYMfz9/Zk0aRJffvklZrOZpUuXMmDAAB566CFcXFwYN24c/v7+WY6ZmprKt99+y+TJkwkODsbZ2ZmZM2cyd+7cLGX379/PwYMH+fzzz/Hx8cHLy4vp06ezdu1arl27xtKlS+nSpQutWrXCYDAwYMAA6tata9+LVICYHbQI6QMihMgj69bB9Ug9jdlsdZ1S7OSs7jm++MKFiRMdGJwQokgyZNzlmG2ci8Ksy1zfTubNm5epD8jtSpb8b6CN8+fPc+PGDXx9fS3rlFKkpaVx8+ZNrly5Qrdu3Szb9Ho9FSpUyLLPmzdvkpaWRvny5S3rfHx8qF+/fpay58+fx2w2ZyoL4OzszOXLl7ly5Qq1atXKtK1y5co5no8QOZEWECFEnjh6FNycYvHQLlpdx6Al420O4dgxBwYmhCiy3NygeAkzKZdsm2Ew5WIABieVr0PxBgcHU6lSJaKjoy1LeHg4x48fp0SJEpQtW5YzZ/7r16KUIiwsLMt+/P39cXV15cKFC5Z1ERERjB49OsvoW8HBwRQrVowbN25Yjnnz5k2OHDlCnTp1shwTyPGxr6LA9O8wvPZehCQgQog8kpQEemyfiFBTqSQkyAe2EMJ2mgYDB+hI2l8Lc6p1zRnKDIm7H6Z7N/D2dnCAd/DEE08QHx/Phx9+SHJyMrGxsQwaNIjevXujaRqDBw9myZIl/PXXXxiNRj766CMuZfO8qk6n4/nnn2fixImEh4eTmprKpEmT+OOPPyhWrBguLi6WTuYNGjSgcuXKvP7668TFxZGcnMzbb79N69atMZlMvPzyy2zcuJHNmzdjNptZtmwZu3btyuMrI4oCSUCEEHmieHFIMXtgVnqb6hn1vvj62vj4hBBC/GvQIDAmOhO782Gryif8XY3kaz4MHZq/nzteXl5s3bqVnTt3EhwcTIUKFUhMTGTNmjUAdOnShalTp9K7d298fX05efKkZSSr23388cfUr1+fBg0aEBAQQFhYGD/88AMAXbt2ZdeuXVSoUAGDwcD69eu5fv06lStXJjAwkIMHD7JlyxZcXFyoW7cuK1asYMSIEXh5ebFixQo6dOiQZ9ckr5mUYxYBmlJFrzt+bGws3t7exMTE4OXlld/hCCGAw4fhoYegFjMI0PZaVSdBBbGbT/n6a3j2WcfGJ4Qo+JKTkwkNDaVChQq4urpaXW/0aJg+Q1Gy12Y8Gx/PsVzi8QpELn6KHl11LF+uocl3H/fsTj+zgnq/lhHXkRP+eHra97v6uDgztatHFLhzzmsFtgVk+/btNGrUCC8vL8qVK2f3CXqEEHmrTh14pLGJK1pHrP3a4wqtKe5jokcPx8YmhCjaPvwQXh4IkcvbE7GgO4nHK6D+7ZiuFCSdKcP1xZ2I+KIrHdvrWLJEkg8ho2A5UoEcBev69et07NiRefPm8fzzz3Pt2jXatm2Ln58fL730Un6HJ4TIpdFjdIzpusfqP+wltCP0H9YeV1fbHtsSQohb6XTw+ecajz4KM2aW5fD/ymMolobBLQVTsjNpCc5Uqmzi9U81XnkF9PKRI4RDFcgExM/PjytXrliGnouOjiYxMZEjR47kc2RCiNxSSnFl+yLKahsBuKqaUZwTuGo3M5UzKjeu8zD+2l+U4DBJ+6aRmjwaZ1fn/AhbCFFEaFr6o5x9++rYvx927HAiJsYJDw9o1AhattRLq4fIxIyGCfu+Kcx23l9hVSATEMCSfAQHB3P58mWCgoIYNGhQPkclhMgNpRTzXl/ET5+lJx91eg3mz59aEJKs4cd+PNRZNMwkEkSErhlKM9C4Swjhm6ZyYMthxnedxsTVkoQIIe6dpkHDhumLEHdiVumLvfcpCnAfkAxnzpwhLCyMLl26cOXKlWzLpKSkEBsbm2kRQhQMtycfby4czIxvW3M1XM9nc3QE1q7HTZ9niPDsjccDj/HeBGcuXdLxxQ81eH/9WFzdXPhrc3oSkpps+zC+QgghhChYCnwC4uLiQmBgIC+88AK9e/cmLS0tS5mpU6fi7e1tWYKDg/MhUiFEdoxpRsLOhgPpyUeHAa0B8PKCV1+Fg4cM3IwyEBOr55/TBsaNwzL5V53mNZjybxJy/dINEuOScjqMEEJk8dPJE4TF5e5LyZjkZJYdPUwRHCxUWMn07yNY9l5EAU1Adu3aRZUqVTIlG0lJSdy8eZPExMQs5ceOHUtMTIxlyW4iHiFE/nBydmL8DyN5f/3bluTDFnWa1+DDLeOY/ut4fPzycVYwIUSh8tPJE7y5ZSN9Vn1ncxISk5zMcz/9wLjtW/n8wD4HRSjE/atAJiB16tQhMTGRd999l9TUVC5cuMCIESNo37493tlMS+ri4oKXl1emRQhRcDi7OtOwg3WTgGWnRpOqFA/wsV9AQogir2HpMpT18uZibIxNSUhG8nE04hq+rsVoWb6igyMVBZW0gDhOgUxAPDw82LRpE3///Tf+/v40bdqUxo0bs2LFivwOTQghhBCFQJCnF992f8amJOT25OObbk9TraRfHkUsxP2jQCYgADVr1uSXX34hOjqay5cv89lnn2Xb+iGEEEIIkR1bkhBHJh8dOnTAw8MDDw8PnJ2d0ev1ltceHh5cvHjRLscR9mVWmkMWUYATECGEEEKIe2VNEuLolo+NGzcSHx9PfHw8b7/9No8++qjldXx8PGXLlrXbsYQoDCQBEUIIIUSRdqckpCA8dtWiRQsGDx5MpUqVCA4O5ujRo2iaxvnz5y1lJkyYQIsWLSyvt2zZQoMGDfDy8qJy5cp88cUXeRrz/UD6gDiOJCBCCCGEKPKyS0JORl7P9+Qjw4YNG9i1axdHjx7F09PzjmUPHz5M586dGTFiBFFRUaxatYpJkybx008/5U2w9wkTOocsQhIQIYQQQtwnbk9COn67tEAkHwBPPvkkpUqVwsfH565lFyxYQOfOnenVqxd6vZ7atWszZMgQFi5c6PhAhbADQ34HIIQQQgiRV4I8vfi801N0/HapZd30tu3zfbSrkiVL3nH7rRMinj9/nm3btmVKVkwmE5UrV3ZUePcl5YBO40o6oQPSAiKEEEKI+0hMcjJjtm7OtG7ijm25njHdEZycnAAyTcgcFhZm+X9wcDDPP/880dHRliU0NJT169fneaxC5IYkIEIIIYS4L9ze4fzLJ7vmarJCRwsICMDDw4Pvv/+e1NRU9u3bx6pVqyzbBwwYwLfffsumTZswm81cuHCBNm3aMGvWrHyMuuiRTuiOIwmIEEIIIYq87Ea7alm+os2TFeYFg8HAkiVLWLRoET4+PowdO5bhw4dbtjds2JAVK1Ywbtw4fH19adKkCY8//jjvv/9+PkYthPU0detDhUVEbGws3t7exMTE4OXlld/hCCGEEMIOkpOTCQ0NpUKFCri6ulpd725D7YbFxdJn1XdcjI2hrJc333Z/hiBPuX+whzv9zArq/VpGXBuPVMDd077f1SfEmelQO7TAnXNekxYQIYQQQhRZ1szzYcuM6UKIeycJiBBCCCGKJFsmGZQkRNzOjIYZnZ0X6QMCkoAIIYQQogjKzQznkoSIW0kndMeRBEQIIYQQRc7Pp//J1SSDtychy44ednCkQtx/ZCJCIYQQQhQ5fWrWJjYlmZblK9o8yWBGErLs6GHebNzUQRGKgs6kdJiUfb+rNxW9sZ9yRRIQIYQQQhQq1gzgqWkar9RvlOtjBHl6MarJo7muL9IVwcFWhR1IAiKEEEKIQiFjhvDExESKFSuWz9EIayQmJgL//ewKk/RO6PbtsyGd0NNJAiKEEEKIQkGv1+Pj40NERAQAbm5uaJrc0BVESikSExOJiIjAx8cHvV6f3yGJAkQSECGEEEIUGqVKlQKwJCGiYPPx8bH8zAobMzpMdh6vyYw8kgaSgAghhBCiENE0jcDAQPz9/UlLS8vvcMQdODk5ScuHyJYkIEIIIYQodPR6vdzcCoeSUbAcR+YBEUIIIYQQ4jb2nwU9fcmtyMhIKlasyI4dO7Ld3qFDBzw8PDItmqbx8ssvA+n9cry9vXF3d89UJiEhIdcx5ZYkIEIIIYQQQhRgu3btokmTJoSGhuZYZuPGjcTHx1uWzz//HH9/f8aNGwfAqVOnSExM5MaNG5nKubu759VpWEgCIoQQQgghxG1MSnPIYqvFixfTp08fpk6danWdkJAQBg8ezPLlywkODgZg//791KhRA1dXV5tjsDdJQIQQQgghhMhDsbGxmZaUlJQcy7Zv356zZ8/SvXt3q/c/cuRInnjiCVq1amVZt3//fsxmM02aNMHPz4/HHnuMP//8857OI7ckARFCCCGEEOI2pn+H4bX3AhAcHIy3t7dluVPrRqlSpTAYrB83avfu3WzevJkPP/ww03oXFxfq16/PqlWruHTpEk8++SRt27bl3LlzubtA90BGwRJCCCGEECIPXbp0CS8vL8trFxcXu+17wYIFPP7441SoUCHT+mnTpmV6PXLkSBYtWsSGDRsYOnSo3Y5vDWkBEUIIIYQQ4jZmpXPIAuDl5ZVpsVcCkpaWxtq1a3nuueeybHvvvff4+++/M61LSUnBw8PDLse2hSQgQgghhBBCFAEhISFERUXRpEmTLNuOHTvG8OHDuXbtGikpKUyePJnExESefPLJPI9TEhAhhBBCCCFu48g+IPbi4eHBsmXLLK8vXLiAl5cX5cqVy1L2q6++olq1atSqVYugoCB2797Ntm3b8PX1tWtM1pA+IEIIIYQQQtzGDLkaNvdu+7wX6raZ1OPj4zO97ty5MzExMdnW9fHx4YsvvrjHCOxDWkCEEEIIIYQQeUZaQIQQQgghhLiNGR1mO39Xb+/9FVZyFYQQQgghhBB5RlpAhBBCCCGEuI1J6TAp+35Xb+/9FVZyFYQQQgghhBB5RhIQIazw+6o9RF65kau6iXFJbFq03c4RCSGEEMKRzGgOWYQ8giXEXe38YTdTes4isFIAM7dPoGTpEpm2KwXJyeDqCtptnyuJcUm83fF9ju/6h5jrsfQc/VQeRi6EEEIIUfBIC4gQd1GlfiUCypUk7Ew4I1pOIPLKDYxG+OknaNPajJOTws0NDAZF/XomFi+GpKTMyYeHjzsPtaqZ36cihBBCCCtl9AGx9yKkBUSIuypV3p/p2yYwqtUEws6EM6zpBPYb3+PsFT+K689RyfQ7TsRhMhfj4qGGvPhiHUa9EU+nMh9y+Xh68vHhlnFUrV8pv09FCCGEECLfSQIihBUykpDXmk0g8mI4gbxHSYrhab7ErY9zllFbSMQfc4wLl2Mu4eIhyYcQQghRGJnQYbLzw0L23l9hJQmIEFYqUdqfv8zjKM0EXInENYd+ZG5aBABGXDmS9ja+5ST5EEIIIQobs9IwK/t2Grf3/gorScOEsNLatXDuaiBpqphV5ZXScSO1Il995eDAhBBCCCEKEUlAhLDSnM9M+OpP46Fdsaq8k5aIv9rF3DkmTCYHByeEEEIIuzL/+wiWPRez3HoDkoAIYRWzGXb+rqOkaadN9QLUH1y6rOf8ecfEJYQQQghR2EgfECGsEB8PZrOGM7E21csoHx3tgKCEEEII4TBmpcNs52Fz7b2/wkqughBWcHNL/9eEdf0/MhhxBcDDw94RCSGEEEIUTpKACGEFgwFq1TRxQ9fApnqRNMDH20T58o6JSwghhBCOYUJzyCIkARHCakOH6blurkuSKmFVeZNy4pq+NQNf1uPi4uDghBBCCCEKCUlAhLBSnz7g7ZGAWbPuMSwTrujMiQwa5ODAhBBCCGF3GX1A7L0ISUCEsJpOJfFUuQ9x5zImXDCq7Js1TMpAqvLAWYujrd8EvF1v5HGkQgghhLhXJhzxGJYAGQVLCKskxiXxdsf3uXLiH1zc3dmX9g5RaeUIMO8kgF04EYeJYlynPuH6NujN8bQpMZGE6+GMaDmBmdsnULK0dY9uCSGEEEIUZdICIsRdZCQfx3f9g4ePOzO3j+NwaGXem+CMKaAlfzOevczgLyYT7dWJoa+7c/hUAAv2T6BUeT/CzqQnIZFXpCVECCGEKCzkESzHkasgxF1sX/6HJfn4cMs4qtavRGAgjBsHly7rCQmBPXvg2DEIv6Znxgx44AEoVd6f6dv+S0J+/GR9fp+KEEIIIUS+k0ewhLiLjgPbcDM8moYd61K1fqVM2wwGqFYt57oZScjqTzcwYGpfB0cqhBBCCHsxKR0mO7dY2Ht/hZUkIELchaZp9Hvv6VzXL1Xen1dmvWC/gIQQQgghCjFJQIQQQgghhLiNQsNs54kDlUxECEgfECGEEEIIIUQekhYQIYQQQgghbiN9QBxHEhAhhBBCCCFuY1YaZmXfR6bsvb/CStIwIYQQQgghRJ6RFhAhhBBCCCFuY0KHyc7f1dt7f4WVXAUhhBBCCCFEnpEWECGEEEIIIW4jfUAcR1pAhBBCCCGEEHlGWkCEEEIIIYS4jRkdZjt/V2/v/RVWchWEEEIIIYQQeUZaQIQQQgghhLiNSWmY7Nxnw977K6wkARFCCCGEEOI20gndceQRLCGEEEIIIUSekRYQIYQQQgghbqOUDrOy73f1ys77K6zkKgghhBBCCCHyjLSACCGEEEIIcRsTGibs3AndzvsrrKQFRAghhBBCCJFnCmQCsn//flq0aEHx4sUJCgpiyJAhJCQk5HdYQuSb65dvEHHxeq7rH//zH5RSdoxICCGEKNrM6r+RsOy35PdZFQwFLgGJjIykXbt29OjRg+vXr7Nv3z727dvHmDFj8js0IfLF9cs3GNlqAiNaTuDaBduTkNWzN/B6s3f56p3lkoQIIYQQIt8VuAQkNDSU5s2bM3ToUAwGA2XKlKFfv37s3Lkzv0MTIv8oRXhoBCNb/ZeEREbCtGnQqKGJiuWNPFg1je7dzGzeDGZzerXVszcw7/VF+Re3EEIIUUiZ/x0Fy96LKICd0Bs0aMDq1astr5VSrFu3jgYNGuRjVELkH78yJZixfSIjW44n7Ow1RracgMdj4/nq25KYTGZKqn24qEgSMPDruZr8uLosFcobGdxpC7/MTU8+er3Vlf7v90bTpPObEEIIYQ0zGmY7dxq39/4KqwKdhqWlpfHSSy8REhLClClTciyXkpJCbGxspkWIoiQjCQmsGED4+QiOLp1IhbSvaGoeSC1mUUX7mqraIuobR1Cfd3C5sESSDyGEEKIIiYyMpGLFiuzYsSPHMp07d8bV1RUPDw/LsmnTJsv2adOmUbp0adzd3WnevDkhISF5EHlWBTYBuX79Om3btuXPP/9k586dBAYG5lh26tSpeHt7W5bg4OA8jFSIvOFXpgSezSeQSADFiCBY24yzFp+pjKaBj3aKMqR/2FzUdeGRZyX5EEIIIWxlUppDltzYtWsXTZo0ITQ09I7l/vrrL9avX098fLxlad++PQBLly7l448/ZsOGDURHR9OoUSM6depEWlparmK6FwUyATly5Ah169alePHi7N27l4oVK96x/NixY4mJibEsly5dyqNIhcg7N27AF1/7cl09bFV5s9JxmY58+qkkH0IIIURhtXjxYvr06cPUqVPvWO7y5cuEh4dTt27dbLcvXLiQYcOGUadOHZycnJg0aRLXrl3jt99+c0TYd1TgEpCwsDBat25Nr169WLVqFV5eXnet4+LigpeXV6ZFiKJm0SIwmcwE8qdV5XWamVKmLSxdaiYmxsHBCSGEEEVMQemE3r59e86ePUv37t3vWG7//v14enrSv39//P39qVmzJosW/TcQzdGjR6ldu7bltaurK1WqVOHYsWM2x3SvClwCMm/ePCIjI5k/fz6enp6W59dq1KiR36EJka9W/WCihPkvnDXr+zgFsZ3kZB1btzowMCGEEELY5Pa+yykpKTmWLVWqFAbD3ceNSkpKolmzZowfP56wsDA+/vhjhg8fzsqVKwGIi4vD3d09Ux13d3fi4+Oz251DFbgEZMqUKSilMj27Fh8fz/Hjx/M7NCHy1fUIhSuRNtVx4SaguHHDMTEJIYQQRZUZe09C+N+oWsHBwZn6L9/t8Spr9OnThw0bNvDQQw9hMBho27Ytzz33HN9//z0Anp6eWSb2TkhIwNPT856PbasCNwyvECJ7Lq6QYuOvrEIPaLi4OCYmIYQQQtju0qVLmboMuNjhD/WSJUsoVqwYzzzzjGVdcnIyHh4eANSoUYOjR4/SuXNnIH0U2VOnTlGzZs17PratClwLiBAiezVq6og11MKWycyjqA5A1aoOCkoIIYQootS/84DYc1H/toDc3nfZHglITEwMQ4cO5dChQ5jNZjZs2MCKFSsYOHAgAP3792fOnDmcOnWKpKQkxowZQ2BgIM2bN7/nY9tKWkCEKCQGDdLx/felieZBimPduN1huvZUr2qiUSO9g6MTQgghipaMx6bsvU978vDwYMGCBfTt25dhw4aRkJBAt27diIyMpEqVKnz//fc0bdoUgAEDBhAWFkbz5s2JjY2lYcOGrF+/3qr+JfamKWXL96mFQ2xsLN7e3sTExMiIWKLIUAqqVDahP7eUYDbctbxJObFHm8XMuQG88koeBCiEEELYoKDer2XE1X3r8zi5O9t132kJqaxqs6TAnXNek0ewhCgkNA0GPbHZknzcaSg/k3JCr6XRxGUSndtcz6sQhRBCiCKjoAzDWxTJVRCikFg9ewObP0sfz/uSvgu79f/jrHqGJOWHUjpMyokbqjZHtDHs1j5FuQagpUQwtv0Erl2QJEQIIYQQBYMkIEIUAqtnb2De6+nJR6+3urLmWB9eHOTNtWLd2MU8fmUl2/mWg4zDr9rDfDLfj6XHJhJUKYDw0AhGtpIkRAghhLCF3YfgdUCfksJKOqELUcCF7D2dKfno/35vNE1j7lyYOlXPtm1w4wY4O6ePdtWggR5NAyjBjO0TGdlyPGFnr/FBn0/45I8paJp8+AkhhBAi/0gCIkQB92CjyvR772nSUo2W5CODlxd06ZJzXb8y6UnIB30+4Y3/DZbkQwghhLBSxtC59t6nkARE3CeunLlKUKVSuboBN5lMXDt/naBKpRwQmXWem/AMSqlcxe9XpgQf/zYpX5MPpRRXzoRTpnJgrupHXLyOj783zq72HY1ECCHuJ8p4Hs1QPnd1VQqYb6Dpg+wblLgvSR8QUeQd+yOEV+qOZs6wL7F11GmTycT0F+cytOFbnDkY6qAIrXMvCUR+Jx8LRizhlYdHcXjHcZvrh50N5/Vm45jQfQapyakOiFAIIYo+lbwdFfkEKn6O7XVVCip6KOpGL5TxggOiK5ikD4jjSAuIKPLCzl4jOSGFtfM2AzD0swFomkZYGCxcCLt3m4mJVvgU1/HYYxoDBoC//3/Jx6/f/I7eoCf8fAQPPFwhn8+m8DGmGbl48grJiSm822kqU34eS50WNVAKfv8dFi2C0HMmjCYoXVpHr14anTuDwZCefIxsOYHrl29QzNOVxLgkaQURQojcMJ0D0lDxswHQPIYCcO4c/O9/cPCgmYQEMz4+eh5/XOP558HH57/kg5TfAFcwXwPK5ddZ5KnCMBFhYSUTEYr7wqZF2/n4pfkopWjbvx37Y19k1Sodei0Nb9NhDCRixINoXW3Q6endS1E5bS47v0tPPt5Z/jqPdm+c36dRaKUmpzKh23T2bzqEq5sLXSeOZfrCapz8R4+n4RpuxtNomEnWlyHaVJFSASbGvHadffPTk4+yD5Zm+q/j8S1VPL9PRQghCi0VvxAVPx2AWNNwnh30Chs26PD2SqBFkz/xcE8kIrIE2/5ogpMTvDwwjRnjhqEzpicfWvH/obnY729hQb1fy4irw6aBDpmIcGP7hQXunPOaJCDivnFrEhJGK0zKiUB+x6AlWsqkKg+u0hxXLYoA/pTkw45uTUJMuHCWXpRQf+PLUW59QixWlSecxyjLelw1ST6EEMKebk1CPl7QHx+vGHo9tR43t2RLmfCIkny1vDt1a52gfavfUbiis3PyAQX3fi0jrnYbX3ZIArK5w/8K3DnnNUlAxH3DaIRmFX/F4/ICNO7+tjejx1RtONuPN0EGj7KPP3amMrzFdEpwCKW463WNV6V5/tPxDB4uyYcQQthDfDzMmbaA0a/OtKp8YpIrH3/5Oe9NaWL3WArq/ZokII4nndDFfWPdOth7qTVJys+q8vEqmN9CmrBzp4MDu498NN3AOV0fq5IPpeCS1ompM7wwm/MmPiGEKOq++QbeeX8gkTd8rCr/2+4GjH+/CSEhjo2rIJJO6I4jCYi4b8z5zIyv/jRuWoRV5T05j5fhKnPnyt2vPVy4ABvWawSatljVoqRpEKS2cfGSns2bHR+fEEIUdUrBvHlGOrfdRskS0VbVadV0D/5+Ucyf79jYxP1FEhBxX7h5E7Zt1xFg+sXqOpoGAcYt/PijRlqaA4O7T6xeDTrNSCn+sLqOF6fxMlzhu+8cGJgQQtwnTp2Co0cNDOhr/Yeqi0sa/Xqs4rvvjA6MrGBS/DcZob2WItfvIZckARH3hcjI9H/duGZTvWJcw2TSiIpyQFD3mWvXwFUfi0FLvnvhf2kauBjDuHZNPrKFEOJeXfv3T2Clchdtqlep/AWuX9fL47DCbmQeEHFfMPz7Tlc25twKPQBOTvaO6P6Tfg1t/85DaXqcZeoPIYS4Zxl/y4wmvU31jEYnDAaVr5Pa5geZB8RxpAVE3BdKlQIXFzMxVLGpXiyV8fE24e3toMDuIxUrQoLRm2RVwuo6ZmUgQf8AFSrIB7YQQtyrcuVA0xR7DjxkU729f9ehQgXTfTcipHRCdxxJQMR9wc0N+vTRuGpoh7Lyl9+knAjXt2bAS3p08ptyz7p3B7diiiu0sbrOdRqQZPSif38HBiaEEPeJoCDo0EHx+ZJ+WDsJw/XI4ny/riMDBsijAMJ+5LZK3DeGDNFINHqTSIBV5RMoTYrJjcGDHRzYfcLTE154UU+Uvi5K3f2jRymI0tWhaRMTtWrlQYBCCHEfePVVHSdOVeDadetaow8cqYmm6XnxRQcHVgBJC4jjSAIi7hsPPWTiqQfm4q6F37UVRCnw0s7Tu+6XVKokHaDt5aW+4dThIzTNjPkOSYhZ6dA0qKwWMfy5k3kYoRBCFG0d2qfw+7qhlPK/gcmU8+dwRgtJ+1a/8+vaeZQsmUcBivuCJCDivmAymZj+4lwSzv4Omp6jvMlhbSyR6mHLt/FmpSNCNeSQ9h4neBXQuH5wM3OGfYmytq1a5CjsbDjTek7AyXyTFENp9ulmcUr1I1GVspRJVV6cV13Yp59NlK4OelL4esRUDu84no+RCyFE0aBUCsQOpV6t30hOcaV976/o+fJsdvzZ0JJwpKQ48e2PnXjsqe8YM3kUAI/Uno2Kn5OPkecPaQFxHBkFSxR5GcnHr9/8jt6g5+1vX+dsXGNmfWzi0LG6GHRpOOmSSTUXw2Q20KCeiTff1OOTCB8PnM/aeemz4A39bMB9NwKIvYSdDWdkywlcv3yDsg+WZvSK8SxcUpwvFj7BxdgncdEnoWEmxVQMZyfo3UfjjddGs+Lt6ezfdIh3O01lys9jqdOiRn6fihBCFEpKpaCih0LKb4Arzn7/o8vTjZk710jr7u1xc0vBwz2J6Bh3UlOdaNXKRPMOD6F5gIqfjoqfDYDmMTR/T0QUCZoqgl/txsbG4u3tTUxMDF5eXvkdjshni99bwbIpq9Ab9Lyz/HUe7d4YSG9e3rsX9uyBuDjw8oJHH4W6df+ru2nRdj5+aT5KKQbNeI4eb3bOp7MovNJS0xhQ/Q2unrtG2QdLM/3X8fiWKg5AUhKsXZs+S7rRmD5a2VNPQYl/H01OTU5lQrf0JMTVzYUvQz7BP1ieAxBCCFuZY8ZB0krAFa34/9Bc/vtbuGMHHDoECQng4wOtW8ODD/5XV8UvRMVPB0DznolWzD5/Cwvq/VpGXE3XDMXg7mLXfRsTUtj11JwCd855TVpARJHXZVgH9q7/mz5vd7MkH5A+yV3jxulLTtq/2BKAjV9spcOAVo4OtUhycnZi8MfPs2T8SqZufMeSfAAUKwY9e+Zc19nVmQk/jmJCt+nUbl5Dkg8hhMglzX0QKu0Amud7luQD0v8WtmyZvuRY12MgACp1D7i2dXSo4j4gLSDivmAymdDrbZt4yZ7171VyYgrKbKaYR7Fc1Y+KiKG4f/5OZnIv1zC/r78QQhQFSpnQtNx/lt5r/dsV1Pu1jLgeWTPMIS0gu5/6rMCdc16TTujivnCvN6/5nXyM6zyVd56YSlJ8ks31928+xHMVh7Dt298dEJ317uUaSvIhhBD37l6TB3smH4WBdEJ3HElAhCjgrp4N59SBcxz9PSRTEmI2w6ZNMHgwPP009O0LkybB5cv/1d2/+RDju0wjOTGF33/cK6N5CSGEECLfSR8QIQq4CrXK8dGWcYxpO9mShFTtOZYPpzlz/oIeT8M1nM3XQHPmeyowcaIzT3ZWvNjlCJ+/Mo20lDSaPNWAt799TUbxEkIIIayklHbXecNys08hCYgQhUK1hpUzJSE7d04lRWtFfX7B23gKTQMUGJUr4TzG/p+rErv2c3SkJx/vrnwDJ2en/D4NIYQQQghJQIQoLKo1rMzD/cfx26zJFNdCKE4I3PZFikFLpgxbUKYtaBrEONdn4KeSfAghhBC2ckSfDekDkk76gAhRSCQmwidfVuQSdx8CUdPApAwcSRvC/AWSfAghhBCi4JAERIhCYuVKiI3VEcAeq8rrNSP+5p0s+NxESoqDgxNCCCGKmIw+IPZehCQgQhQaXy81UUJ3FDftmtV1SvMLN27q+fVXBwYmhBBCCGED6QMiRCFx+bKimPlSln4fd+JOGABhYQ4KSgghhCiilAP6gEgLSDppARGikNDpwKbsA8iY9UMnv+lCCCGEKCDktkSIQqJ8BR0J+oo21YmnPADBwQ4ISAghhCjCFKCUnZf8PqkCQhIQIQqJF1/UcdNUjXhVxuo6l2lLUKCJli0dGJgQQghRBJnRHLIISUCEKDS6doWSJUxEUh9lxVcoJuXEDa0hrw7RY5DeXkIIIYQoICQBEaKQcHaGEf2PEsx6NI07JiFKaei1NOq7TKP/c0l5F6QQQghRRMgwvI4jCYgQhcT+zYfY+dk09FoaEaoBh7T3iFANMav/fo2TlS9nVU8O69/FpBWjWMpJpj87laR4SUKEEEIIUTDIgxlCFAL7Nx9ifJdppKWk0eSpBtR7/g0+/EjH7j21cDEk4qpFoXAi3lgSV1fF8y/o6ffkOD7sNZmjv4fwzhNTeX/9WIp5FMvvUxFCCCEKBbPS0OzcYmHvYX0LK0lAhCjgTh04myn5eHflGzg5O/FkFzh8GH76yY0bN9xwdoaqVaFXL/D0BKjMR1vGMaZtehIyscdMpm58B02TDz8hhBBC5B9JQIQo4CrWLkfjzvUwpZksyUeGOnXSl5xUa5iehLz31Ed0f6OTJB9CCCGElTKGzrX3PoUkIIWCUorkxBSKubvmqn5SQnKu6xYU93IOSilSklJxdXOxc1R5w+Bk4O1lr6GUypR8WKtaw8osPTu30J6/EEIIIYoW6YRewCmlWPTuct54dByxN+Jsrh9x8TqD6ozkpzkbHRBd3jh7+DwvVB7GH6v32lxXKcW81xcxus1EEmISHBBd3jA4GXKVfGSQ5EMIIYSwjYyC5TjSAlLARV+PZdNX24i6FsPoxycx7Zf38CrhCUBoKKxYAVevgk6XPtt1nz4QGJheN+LidUa0nEB4aASrZ2+gff9WhfJGdMPCrdwMj2ZKz1m8u/INmnVtBEByMqxaBYcOQWIieHtDu3bw2GP8O0xtevLx02fpydeh7cdp2qVhPp6JEEIIIQoLRyQMkoCk05Qqek+jxcbG4u3tTUxMDF5eXvkdzj27cOISo1pPJOpaDJUeKk/vae/x0cfubNqkYdCl4q6LRKGRYPJDaXq6dYPXBt3g85fTk4+gSgHM2D4RvzIl8vtUcsVkMjHt+Tls+/YP9AY9o5a8wdYjjVjwuYmoaD2eTtfRk0yq8iLR6E3VKiZGjdaRfOS/5OPNhYPpMKB1Pp+JEEIIITIU1Pu1jLgeXD4GvZ2/uDUlphDS+6MCd855TRKQQuLWJCSe8pzSXiLAvI1S/IFeSwUgTblxleZE6ptSXc3GVRX+5CPDrUmIQs9xbRhO5ijKsAV37SqQ3rErippc1trjo45TVpPkQwghhCioCur9WkZcVb99yyEJyD99Pixw55zXpA9IIVGuejB9ZownFW88OM/D5ncprW2zJB8ATloiZbWNPGwah6uKIFkLYPDCwp98AOj1et74YijGEk3RMFHD/AlVtSWW5APSH7vy1Y5RmxmW5KPiE5J8CCGEEKLwi4yMpGLFiuzYsSPHMp988gmVK1fGy8uLmjVrsnLlSss2pRTe3t64u7vj4eFhWRIS8r6PrCQghcj0eUGc0gagVPrNdk40TaGUxgltOJ9+XjzvAnSwn37SsyNyGKnK847nnyFC1eerTS0JD3d8bEIIIYQoWjKG4bX3khu7du2iSZMmhIaG5ljmyy+/ZMaMGaxevZqYmBg+/PBDXnjhBfbt2wfAqVOnSExM5MaNG8THx1sWd3f33AV1DyQBKSSOHoU//9TjZ/7TqptvTVOUNO1i1SqKzA34nM9MlND/g7Nm3WhgxQkBs4kvv3RwYEIIIYQQDrJ48WL69OnD1KlT71guIiKCt99+m5o1a6JpGp06deLBBx/kjz/+AGD//v3UqFEDV9f8n5pBEpBCYulSKGaIxY/9VtcJ5Dcwm1i+3IGB5ZHQUNj1p55A02ar6zhpCfibf+fLhUYHRiaEEEKIoii9xcLew/DaHkf79u05e/Ys3bt3v2O5sWPH8uqrr1penzlzhhMnTtCgQQMgPQExm800adIEPz8/HnvsMf7880/bA7IDSUAKiYsXwc18EZ1msrqOk5aAm/4mly45MLA8cvFi+r+enLepngehXAmTt7kQQgghCo7Y2NhMS0pKSo5lS5UqhcFg28wZ//zzD+3bt6dPnz48+uijALi4uFC/fn1WrVrFpUuXePLJJ2nbti3nzp27p3PJDbkzKyTSM2bb02YNc66fNyxI/jsH205Gs7mGEEIIIYRjJyIMDg7G29vbstzt8SpbbNmyhcaNG/P444+zcOFCy/pp06bx1VdfERgYiKurKyNHjqRcuXJs2LDBbse2lkxEWEgEBUGSrgzKqEPTzFbVMSpXEs0lLBMTFmZBQen/JlAad67eufAtEihDgL8ZybWFEEIIYQuF/b/EzNjfpUuXMg3D6+Jin+F+Z8yYwXvvvcfs2bN56aWXMm1777336NKlC3Xr1rWsS0lJwcPDwy7HtoXclRUSfftCorE4kTxkdZ1wmmEyO9Grl+PiyitVqsDDD5m4qmtndR2jciVC35znX5A8WwghhBAFh5eXV6bFHgnIwoULmThxItu2bcuSfAAcO3aM4cOHc+3aNVJSUpg8eTKJiYk8+eST93xsW0kCUkg0aJB+Ax6uNbfqkSqlIELXkic6KcqWdXx8eWHYcD2R5tqkKk+ryt+kBkazCy+/7ODAhBBCCFHkOPIRLHvx8PBg2bJlAEycOJGkpCTatGmTaZ6PDz74AICvvvqKatWqUatWLYKCgti9ezfbtm3D19fXrjFZQ74aLkTeHnGTT55bhqZxx7lAMrZVYSGjXn8PsO6GvaDr1UuxcOQinKOsG4a3pHaIZ9vvo2zZRg6OTAghhBDC8dRt30LHx8db/n/58uU71vXx8eGLL75wSFy2khaQQiLi4nXWjJ9AMSJIJIBj2giuq/oo9d+P0KwMhKumHNONTJ8xXZ1n2chJxN6w7oa9IFNK8dVbi3CP2gTAae1FQlVXUpVXpnLxqiwhagDhNEWHiWtbZ/HH6r35EbIQQgghCjPloEVIC0hhEHHxOiNaTiA8NIKgSgE8OWEiUz/24cDfjXEzRFNMXQE0ErSyJBs9aN7MxIhXgvj6jYmcPXSe0Y9PYtov7+FVonC2hCilmPf6In76bCMAL88azKYjrVj2jSI0rSc++lA0cxJGXXFijGXw9zPR943HMR/T2L78D6b0nMW7K9+gWVdpCRFCCCGEyG+SgBRw0ddjMiUfM7ZPxK9MCbr3hb/+gm+/9eHqVR90OggOhueeg+rV9UAwtWuPZ1Tr/5KQT/6YgqubfUZZyEtfjl1mST7eXDiYDgNa8zQwfbrG0qVw6NADJCSAjw+0bQtduuhxcgKTaSiaBtu+TU9CJq8dQ4P2D+fruQghhBCikHBAnw3svb9CShKQAs6rhCd1W9fi0PZjluQjQ/366UtOylUPZvqv6UnII53r41LMOQ8itr+GHeuybv4WBn/8PB0GtLas9/WF11/PuZ5er2f0kqEAnD10ngceruDgSIUQQgghxN1o6vbeLHdgNBr55Zdf2Lx5M+fPnwfSJ1Jp37497dq1s3mWRkeJjY3F29ubmJiYTGMsF1Zms5m4m/F4l8zduURfj8G7pBdaTr3WC4Ho6zH4+Hnnqq7JZCIhJhEv39w/gmYymtAb9PlW3x7uJYaCEL8QQoiipaDer2XEVWHRO+jcXO26b3NiMqEvvl/gzjmvWd0J/auvvqJSpUoMHjyYiIgIKleuTLVq1YiLi2PUqFFUqlSJr7/+2pGx3rd0Ol2ukw8AHz/vQp18ALlOPiC9JeReko+k+CRGtZ7ImrmbclV/z88HeKXeaCLDbuY6hnu1dMJ3TOg2ndSUNJvrRl65weC6o9i74W8HRCaEEEIUTIVhGN7Cyqomi6eeegpXV1dWrlxJ48aNsy1z6NAhpk+fzqpVq/jpp5/sGaMQ+erXZX9w9PcQjv4eAsBTQ9pbth0+DDt2QEwMeHikz9fSrNl/QyTv+fkAE7tPx5hmYtXHPzNoxnN5Hv/Vc9dYOe0nUpPTmPz0TMZ9PwJnFycArl+HNWsgPBwMBqhQAZ58EooVS68beeUGI1pOIOxMOAtGLqV+2zrSEiKEEEKIe2JVAjJq1CiaNWt2xzIPPfQQy5YtY9euXXYJTIiC4omX23D13DW+m76GOcO+BCAtoD0zZ5jYs1ePQZeGkz4Zo9mFNJMz1aqaeO11PbWDDjD56fTk47GnH2HA1D75En9gxQAmr32LcU9+yJ6fDzD56Zl0Gz+CGR8b+P47hckELvpEFDqSjW54e5sYOFDPS/1u8EGP9OSjVHk/pm58R5IPIYQQ9w+l2b/TuLSAADb2AYH0fiDh4eGYzeZM68sWoOm2C+ozhaLwUkrxxVvL+G76GgBOqgEk6YIpbd5ASf5Cp5lRCqKoyRWtPSal5yHdDFDpycfYb4ZjcMrfPlJ/bz3CuCc/JDU5jZu6upzmBUqZthDIDpy19ImMElUpLvM4Ubp6PKz/EGdjevIxY/tEAsr55Wv8QgghipaCer+WEVf5L8c5pA/I+QGTC9w55zWbEpCvvvqKoUOHkpKSYlmnlELTNEwmk0MCzI2C+oYWhZtSihcfXcaVP9dYUVZD0xQuwY1Zffo1nJwLxgAN38w+wlevf4ieNEuM2TErHTrNTKrej3l7JlKjniQfQggh7Kug3q9lxFXuC8ckIBdekgTEppnQ3333XT7++GNOnTrFuXPnOHfuHKGhoZw7d85R8QlRYFy+rPH1n32IUlXvWlbTFEmqJBsuvsaevQUj+QD4ZEkNzvAcSpFj8gGg08yYlY5D5rf46ltJPoQQQghhPzYlICkpKQwaNIhKlSpRrly5TIujREZGUrFiRXbs2OGwYwhhjf/9Dwy6VDw5b1V5VyLxMEQyd6757oXzwF9/wYG/9fiqQ1gzKJpOM1PcfJAvvzCRmOj4+IQQQogCRTloEbYlIH369GHOnDmOiiWLXbt20aRJE0JDQ/PsmELkZOH/jPibdmDQUu5emPSRsEoZN7FqFURHOzY2a3z1FbgbblKSg1bXKc0WYmL1yMB2QgghhLAXmxKQHj16MGLECIoXL07FihUzLfa2ePFi+vTpw9SpU+2+byFslZwM1yIMeHHapnrenMZo1HHlioMCs8HZs2bcjKfQNOtbZNy0CIoZ4pHvAIQQQtxvZB4Qx7Hp4fSXX36ZXr160aJFC/R6xw7H2b59e5599tkCM7u6uL8Zjen/6rDtcSqN9MEZ0myf/8/u0tJAszF+AJ1mKhDxCyGEEHlOHplyCJvu7q9cucLSpUsdFUsmpUqVsrpsSkpKppG5YmNjHRGSuI+5u4Orq5nEZOvflwBJpJf393dEVLYpVUrHQX0QtuQgacqNJKNHgYhfCCGEEEWDTY9gNWnSpEBONDh16lS8vb0tS3BwcH6HJIoYTYOePTWuGdqglPW/Nlf1j/NIYxNBQQ4MzkrPPAPRpvLEqgpW17lKczSdRteuDgxMCCGEKIDkESzHsakFpGLFirRp04YWLVoQEBCATvffjdhXX31l9+CsNXbsWN58803L69jYWElChN29+qrGkiUliKYyxfnnruWTlC83TDUYOiwPgrNCp04QWMpEWHhLvLh7pw6lNML1j9OtGwQG5kGAQgghhLgv2DwMb69evShVqhSapqGUsiz5ycXFBS8vr0yLEPbWoAG0rbsPb+2MVeWLaTepH7CB7t0dHJiVDAYY80Y0Zdlw17IZ84RUUt8w8s2CM8moEEIIkWdkGF6HsakFZNGiRURHR+Pq6oqrqyv//PMPfn5++Pr6Oio+IQqMvesPoDv2MTpMRNCIBBVAaXbgrP3X58ioXAnnUdDpKaM24ROxiE1f6HhqSPt8jDxd5JUb/P3FBNy0cJKUHxfpQBA78dTOW8oopXGDOtzUHqISyyih/mbdBzN56PsROLs45V/wQgghhCgybEpAduzYQadOndi6dSuNGzdm+fLlfPrpp2zatIlGjRo5KsZ8b2ERYs/PB5jYfTrGNBNNuj7CVd9hLF2q57yxNz7qKE4qDiPFiNHXxqSceepJM83LuPDz3DXMGfYlQL4mIZFXbjCi5QTCzoRTqrwfdQdOZNqnvuy91hkf3TlcTGEodCQaKhNv9KNWDRP9Xgzmh3c/ZM/PB5j89EzGSRIihBDivqL9u9h7n0JTNtzdN2zYkMGDB9O/f3/LuuXLlzNnzpwC1Tk9NjYWb29vYmJi5HEscc/2bTzI+C4fYUwz8djTjzD2m+EYnAzcvAmLFsG2bYqoKDNeXjoaNdIYOBDKlElPnL94axnfTV8DwPB5A+k8uG2ex3/jahRvNn/PknzM2D6RgHJ+GI2wbh2sWAFXw0wYnDQqVdIxYAA0apTe8f7vrUcY9+SHpCan0bhTPSb8OAq9wbFDcAshhLg/FNT7tYy4gj+fgK6Yq133bU5K5tLgCQXunPOaTS0gJ0+ezJR8APTu3ZtXXnnFrkEJUZAElCuJR3EPajevbkk+AHx9YcQIGDFCA7LelGuaxksf9gVgzZyNlKmSPz25PXzcKFXeD7PRZEk+IL1PSNeu/DvCVfZJRd02tZm89i3GPfkh5WsEo9Pb1G1MCCGEKLwc0WdDHuoBbExA/P392bdvHw0bNrSs+/vvvwmUIXKKPKUUmpa7ZsN7qWuvfdxL/XLVg/lszweULO1rST6slZGEdBzYmtIP5P73JKOhMjfn4FLMhYk/jSHuZjx+ZUrYXL9um9osODyT0g+UuuefY2GWn+9BIYQQ+UASEIex6evMoUOH0qlTJ9555x0WLlzIu+++S8eOHXnttdccFZ8oAE4dOMuIluOJvh5jc12z2czsVxfyw8frcn38qGvRjGgxnjOH7j50bHY2LNzKtBfmYDLlfjSnUuX9bU4+Mmiads/Jx9IJ3/HV29/mqj9UxKVI3mo3mcS4pFzHUKZy4H198xyVlESfH7/jcPjVXNX/6eQJhm/6mbR7eA8KIYQQRYVNd1Svv/46Pj4+LFmyhB9//JGyZcvy6aef0rNnT0fFJ/KZ2Wxm+gtzOX/8EqNaT2T6r+Px8fMG0odq/eMPOHsW0tLSZ/tu0yZ91vCMup8N+YKfF/yCTqfRoMPDlHuwjM0xLBzzDUd/D2F0m0lM2/oeDzz030R6x47BoUOQkAA+PtCiBQQE/Fd3w8KtzBq0AID6bR+idd9Hc3kl8s/JfWf4ZvIPltf9P+hjSQZiYuDXXyEyElxcoGrV//pvQHryMarVBMLOXuPjl+bzyR9T7utEIrdm7tnF3iuX6ffTD3zdpQd1Sv2XUIaEwIED6e9Bb2947DEyTTz508kTjNiyEQU0DS5Hr5q18/4EhBBC2E5p6Yu99yms64RuMpnQ663reGpLWUcpqJ2aCqvLp8IY0XICN69GUb5mMJPWjee7n7z5bLaJs+cy/6w9PUz0H6Bn2DAzP89ITz40TWPUoiE8/lzzXB0/ISaBt9q/z8m9p/H09eCjLe9x4FQFZn9qYveejOMrQMNgMNOjB7zxho7Iw/8lH12Hd+SVWS8U2pvvnz7byNzX0if77DWmC02f78Mnn2gsXWIiKVlPxvkDVH/QxLDhejq1ieSdDunJR6kK/szcPgH/sn75dxKFWEJqKgPWrmZf2GU8nJ1Z+lQPzv4ZyKefmfn9t38bkjUFSkNvUHTtAq+/rnG9xH/JR++atZncsg26QvoeFEIIeyuo92uWTuhzJzqmE/qQ8QXunPOaVQnII488wpQpU2jduvUdy23atIlJkybx559/2i3A3Ciob+jC7NYkxOgazO7kcRQnhNJqM96cQsNEEv6E0ZpwfWsq65YTYNx6z8lHhluTEM3Zg90p7+GiTyTItImS/I2OVNLw4iqPEm7ogLfpCNX4H1D4k48MtyYhl3RPcYknKGXaQhA7cOEGCj1RPEiY1p4YytPUdRJasiQf9nJrEqI3OXPxkx4YnM24Nz2IW42zaM5GzAnFiP+7Gom7HsZQJgy/ZzeBJsmHEEJkp6Der2XEVWaOYxKQy0MlAbEqAQkNDaV///5ER0fTu3dvGjZsSFBQEGazmStXrvDHH3/w3XffUbJkSRYvXkyFChXutkuHKqhv6MLun4NhvNJoAnpjFCblhF5Ly7acWenRaSYUGs9MGMLL791b8pEhPjqBZypPIe3GGczKgE4zZltOKQ1NS39bV3u8I7M3Ff7kI8OM1zay+bP0JMSsdOg0c7blMn4+Zhd/Fh+ZQHBlST7sIT4llcc+/pFo9ysoow7NkP31V2ZAS38Uro6uNquGSPIhhBC3K6j3a5KAOJ5VndArVKjA9u3bmTx5Mrt376ZTp05Uq1aN6tWr061bN44dO8bMmTP57bff8j35EI6zamMQfxnfxaz0OSYfQHryoSBUe4b/rWlmt+Pv3u/Olsh3SVWeOSYfgCX5uEEdFv3ej/j4onHjZzbD5z+35RIdAXJMPgD0Whom5cSfKeP5easkH/Zy+C9nDk3ohjHGPcfkA0DTpScfSWeD2DCqFdFRReM9KIQQ9xXloEXYNgpWp06dWL16NfHx8URGRhIZGUlMTAzff/897dvn3yzPwvFMJpg7x4SnOoNOu/tIPpoGnuazHPhbz19/2SeGuXPMeBiicCLOqvLu6hKJyTqWLbPP8fPbtm1w9pweD3XOqvJ6LQ0vzvPZ7PSEUNy7ufMULj5J6D0TrCrv7H8To1Fj8WLHxiWEEEIUJrmeVczX1xdfX197xiIKsM2bIeyqnjJstrpOSf7G3XCThQvv/fjh4bBunUagcQPWPsniqt3Ej7+YPy/n1pLCZMECM16Gy/hw0uo6pdUmQk7q2bvXgYHdJ6Ki4IcfwK3JQTQrPzn1nsm41fmHeZ/L8LtCCFHoZIyCZe9F5D4BEfeXU6fAoEvFS7Pu23cATTPjaTzOyZB7v/k6exbMSsOHEJvq+ajjnD5dNH7ZTxw342U8ZnUCBlD83+v1zz8OCuo+cv48pKVquFa6bFM9lwcuEXpWhznnJ7aEEEIUQJpyzCIkARFWSkkBvc72lgSNNJKT7/23LSUl/V8dOfc9yY4OI6lpReNtnpKcfj620DABynL9RO5lXEPNYFtCrRlMmM0axqLRECeEEELcs6JxZyYcrkQJSDW6YlRuNtVL1fnj53/v88KUKJH+bzIlbaqXhB/FfYrG4y9+/prN55+CL6BZrp/IvYxraIzytKme8aYX7h5mnJ0dEJQQQgjHkU7oDmPTTOgA165d49y5c6SlZf4m+rHHHrNbUKLg6dgRdHoIMz1GWTZZVSdJ+XNT1aBr13t/BKpWLShX1sTVSy3x5bhVdcxKz3VDC/r1sPltXiB176Hnrf31STV74azFWlUnjJYUczXRpk3+Tg5aFDzwAFR90MSVfbVwqxFqVR1lhuS/atHDDr8DQgghRFFhUwvI/PnzCQoKomnTprRo0cKytGzZ0lHxiQIiKAi6doWr+g4oKztQhdECDw8zvXvf+/F1Ohg6TE+E1pQ0VcyqOjepSaLRh1deuffjFwQvvgh6vY6rNLGqvFnpCNe35bnn9Xh7Ozi4+4CmwfChehKOVMIYZ9248MnnSpN83Yshr0oCIoQQhY50QncYmxKQDz/8kC+//JKUlBTMZrNlMZmKxiMu4s5GjoQy5p/RNGXVsK4B7Gb4K/G42fbUVo7694dKxbbhpCVZVd5bO0P7JmepU8c+x89vJUrAS/1u4KcdtKq8TjMTzHqGD5f2Xnvp1w9Ktw5B75FsVXmXMtdp1DWMRo0cHJgQQghRiNiUgCQkJPDCCy/g5OTkqHhEAWU2m9mz+AtK8wsKjUtaZ2LUA1nKpajiXFBPkKKK46Fd4tqmiURfj7FLDHtWbaVsYvqYvuE8xnX1MEplfgsblSuXVUtiqYQTCbienMKZQ9Y9LlPQRVyKJO63ibhxjST8uaDak6oyz6KqFESrapbJCoPNa9j99bcomQjELn69cgLnTpvQNEg4WJWEI5VQpszfZplTDMTuqU5KaBA611QSHl/FkWtX8yliIYQQuSZ9QBzGpofjW7VqxcaNG+nQoYOj4hEFkNls5rMhX/Dzgl/QNI22rw9h9spmnLqix0cXiofpJDpMJGsBRGp1cXbR6PxCWy6vncD5Y5cY1Xoi038dj49f7p8D2rBwK7MGLQDgsWc78uPhfhw6YsDdEImP8W/0JJOKDzf1DTGaXejRJYESlz/g9F+nGd1mEtO2vscDD1Ww0xXJexGXIhnVagJXz12jVHl/PFtO4MuvS3DO9DwlzftxIRIzTsQZahJjLEOFcibadi7FljlfseKjnwDo/0EfNFvG8BWZ/HTyBCO2bEQBHYNrs/fbVvy1V4+LbzzO1c6iuaRhji9GyvHKGJOc6Nw9BafGa/j72mX6/fQDX3fpQZ1Sgfl9GkIIIUS+05QVX432798fSO+AvnXrVlq1akVgYOY/pF999ZVjIsyF2NhYvL29iYmJwcvL6+4VRI5uTz5GLRrC4881x2SCjRvhf/8zc+a0mdRUCCil0auXnueeA29vuHwqjBEtJ3DzahTlawYzbet4ivvbnoTcmnx0Hd6RV2a9AGjs3w/z5in+PmAiIR6K+2p06Kjn5ZchOBgSYhJ4q/37nNx7Gk9fD6b98h4PPFz4kpCM5CPs7DVKVfBn5vYJ+Jf148YNWLQIfvjeROR1hYsrPPigjkGDdbRund5v5qfPNjL3tfTfzZ6jn2LA1L6ShOTCrclH75q1mdyyDTpN48ABmD9fsfcvM/HxUNwH2rbRM3gwlC8PCampDFi7mn1hl/FwdmZplx48JEmIEEIABfd+LSOu4JmT0RWzrs+ftcxJyVwaMa7AnXNes6oFJCNH8ff3p0+fPpnWiaJN0zQ0nS5T8gGg10OnTtCpk46cnuQrUyWImdsnMKLlBHQ6HTpd7m58dfr043cZ1oFXZr1guYFu2BAaNtTI6W3s7u3Oh5ve4a327xN2JhydvnCOOq3TaaBpmZIPSO8TMnIkjByZ8whXXYalt1bOfe0r9AYZCSu3NE1D0zR61ahlST4A6tWDL77QgOyvrbuzM18+2ZUBa1cTEnndUk8IIUQh4IhHpgrJ7fOJEyesLqtpGhUqVMDV1fpkzaoWkAwHDhygXr16Wdb/8ssvPP7441Yf1NEKakZdWCmlCNl7muqNq+Sq/uXTV/Es7o53ydz/LE7sOcWDjSrn6tv7hJgEIq/cpFz14FwfP79FXrmB2WS2JB+2OrH7Hx5sXEVaP+7BofCr1A4olaskIiE1lUuxMVQrmbufnxBCFEUF9X7N0gIyw0EtICMLfgtIcLD190wJCQmUKlXKtqTFlgTEy8uL2NjM8w/ExsZSunRp4uLirD6ooxXUN7QQQuSXufv34OfmzjM1atlcNyIhnvE7tjG5ZRtK2mtYOyHEfa+g3q9ZEpDpUxyTgIx6t8Cd8724ceMG/v7+No2Ke9dHsM6cOUONGjUwGo0opdDrsz5qUL9+fdsiFUIIkWd2XjjPzN27yGi7uTUJSUmBffsgKgpcXODBB6Fs2f/qRiTE03vVd4RGR5FiMvLVk93yNnghhBD5Ijo6mocffviOT0/8888/6PV66tata9O+75qAPPDAA+zdu5fo6Gg6duzIxo0bM213cXGhdu3aNh1UCCFE3nm0bDmeq/0QS48cYuyvWwBo7FmL+fNhwUIzUTf+6x+laYr2HRRDh+io91g8fX5MTz6CPD2Z2Lx1fp2CEELkOU2lL/beZ2Hh6enJihUr7ljGyckJHx8f9u/fb9O+reqE/tBDDwFw/PhxKlQofKMICSHE/UzTNMY3bwVgSUJiflTE7q9GsQZHCWpwAoNPHOY0A8mnyvHbrofZ0tuNqu98R5JrevKxvFtPgr1zP5S2EEKIwmXJkiWZXrdp0wYfHx+6du2Kp6cnJUuWZMuWLdSuXZtOnTpl+5RUTqxKQDKG4b2TgjQMrxBCiMwykpCwMNgaeQjPrr/g0XkbOqf/ntnVA06Nj+HR6BgqxZkk11RcUjz59jlJPoQQ96H7eBQsgJdeeonu3bsD8Oeff+Lj40Pz5s3Zvn07CxYsIDo6mvPnz/P111/z9ddf88MPP1i9b6vGJVVKoZQiIiKCb775htjYWAICAkhLS2P58uUYjcbcnZkQQog8YzZrbH67BYmHK6NpZEo+bqVpoHNNxZxi4MyHPTm0U5IPIYTIb5GRkVSsWJEdO3bkWGbjxo3UqFEDNzc3qlWrxpo1azJtnzZtGqVLl8bd3Z3mzZsTEhJyx2OuXLmS77//PlMfD03TGDhwIKNGjWLu3Ln8+uuvbN682aZzsSoBWbRoEYsWLQJgzZo1/PDDD0ydOpWvv/6an3/+mQsXLth0UCGEEHlv0ya4eEGP3if27oUBnYsRZ69k5sw1OzgyIYQQd7Jr1y6aNGlCaGhojmXOnDlD9+7dee+994iLi2Pq1Kn07NmTkydPArB06VI+/vhjNmzYQHR0NI0aNaJTp06kpaVlu7/bO5+vXbuWV199FUh/8ikjeTlx4gQ1a9a06Xxsmplt9+7dtGvXLtO6Vq1acejQIZsOKoQQIu/Nm2/GrWwEzmWvWV3Hrenf/LJFx7lzDgxMCCFEjhYvXkyfPn2YOnXqHcstWbKEpk2b0rNnT/R6PV27dqVZs2Z88803ACxcuJBhw4ZRp04dnJycmDRpEteuXeO3337LcZ+3JiFlypShYcOGKKX4/vvvadq0KY0bNwbScwRb2JSAlC1bNsvzXd988w3VqlWz6aBCCCHy3qEjCqcqodgyl2KxaucBOH7cMTEJIURBpfHfSFh2W/7dd2xsbKYlJSUlxzjat2/P2bNnLf0xcnL06NEsI9PWrl2bY8eOZbvd1dWVKlWqWLbfTilFpUqVqFChAtu2baNu3bq88MILaJrGxo0bCQ8P56WXXqJ3797Mnj377hf0FlZ1Qs/w4Ycf0qVLFz799FPKli3LmTNnOHXqlM3PfQkhhMh7yUmgOWff1J4TnVN6H7+kJEdEJIQQBZjS0hd775OsM42PHz+eCRMmZFulVKlSVu06Li4Od3f3TOvc3d2Jj4+3avvtjh49mul1uXLlMJlMVK9eHQBnZ2deeuklHnnkEQYNGsTw4cOtihNsTEDatWvHsWPHWLFiBWFhYfTo0YNnn32W0qVL27IbIYQQ+aB4cYiI8bCpjjE2vbyPjwMCEkKI+9SlS5cyzYTu4uJyz/v09PQkISEh07qEhAQ8PT2t2n67GjVqZLv+9sSkRo0abNu2zaZYbXoEC6BSpUq88847zJ07lzFjxkjyIYQQhUTnJ/QkH66GOc36sdrj91XH3dNMkyYODEwIIQoi5aAF8PLyyrTYIwGpUaNGluTgyJEjlg7it29PSUnh1KlTd+1AvmHDhkyvjUYjTz75pOV1aGgobdu2tSlWqxKQjAxNp9Oh1+uzXYQQQhRsr7wCafGuJB6raFV5s1FH0r7aDHhRh4dtDSdCCCHyWL9+/di5cydr167FZDKxYsUK/vjjD/r16wekz+s3Z84cTp06RVJSEmPGjCEwMJDmzZvfcb+dO3fGbDazevVqvv32W0wmE+vXr7dsX7duHRUrWvd3JYNVj2BlZD7bt2+3aedCCCEKjipVoMPTsRwtc92q8prejFut0wwZUvvuhYUQoqgpBBMRenh4sGDBAvr27Uu1atVYsWIFo0ePpmfPnlSoUIFVq1ZRpUoVAAYMGEBYWBjNmzcnNjaWhg0bsn79egyGrOnAmDFjqFmzpiV5SUlJYdSoUXz33Xfpp6H+O5Hly5czZcoUm+K2KgFp1qwZAPPnz6d79+507NgxSycWIYQQBVtEQjxJHX/AKTYaY5QnKRf9casRimbIPM9Hapgvxps+uNU8h+8zv3AoTaMKtfIpaiGEEBluvfEHsnQg79KlC126dMmx/rhx4xg3btxdj9O9e3c6dOiAn58fSinWrFnDI488Qt26dUlJSbEMz/vll1+iaRqtW7e26Txs6oRepUoV3n//fZ5//nkef/xxunXrxpNPPknx4sVtOqgQQoi8FZEQT+9V33EhNopS7p54/vE0W74vjrNXEq4Pn0DvnYBK05N6ujyJZ0rjH2CiRbMd7Ig+xNhftwDwTA1JQoQQ94+MoXPtvc/CoGHDhkyfPp1Tp04BsGrVKl577TXLdqUUn3zyCbNnz77jzOw5sakT+qRJkzh06BAnT57k8ccfZ9myZQQHB9vc8UQIIUTeyUg+QqOjCPL0ZGWPnmz+rjgnTsDgF4rhff4h0nY0Q/9XYxqUCeS77+DyJT1f9mvFc7UfQgFjf93Cd8eP3vVYQgghCr9t27ZRvnx5y0hY9evXJzU1lZs3b3LhwgUAQkJC2Lt3L2XLlrV5/za1gEB6xnP16lWio6NJS0vDZDIRHh5u84GFEELkjRuJiUQlJxHk6cnybj0J9vYG4MEH4dNP4dNPcxpIRGN881YALD1yiHNRN/MoYiGEKAAKQR8QRxkzZkym14sXL2bVqlV88sknjB8/Hk3TiIuLIzExMVf7tykB6dq1Kzt27ECv1/P444/z3HPPsWzZMoKCgnJ1cCGEEI73oJ8/33R9Gk9nF0vyYS1NS09CmgaXo03FSg6KUAghCqD7OAHZv38/ERERGI1GypQpg4uLCxs2bKBkyZKsW7cONzc3qlatSrNmzfjtt99sHgXLpkewQkJCSEpK4vHHH6dDhw506NDhvkg+Ni/ezs4fdueqbkJsIrNfXUh8dMLdCzvIpX+u8L9RSzGbzXcvfBulFMumrOLEnlMOiEwIkVeq+/nbnHxkyOhsmNtHsFKMRt77dTnXr8/PVX2lTJhjp6KMF3JV3x6UORpzzASUOXef5SrpZ1TSWjtHJYQQjhEZGcmjjz7KtGnTAChTpgzPPvsskP43QdM0xo8fz6hRo+jdu7fN+7cpATl58iSnTp2iVatWrF27lho1alC7dm1GjRpl84ELiyM7TzBzwHze7/1JliREKTh9GvbuhUOHICYmc92E2ETGtp/Cus+38EGfT/Is5lulJKUw5vHJfD9zHbMGfp4lCQkPhwMHYP9+uHw5c12lFIvHrWDxeysY234KURG3naAQ4r4QEnmdIRvXMXbbL6w8diTTNqXg3Ln0z8GDB+HmbU9ppRiNvPzzd3xzPIyBm89jjvssy/4vXUr/DDpwACIiMm9TyoSKGQOJi1BRL6JUqr1P766UUqjo4ZD0LSpqYJYkJDo6/W/A3r1w5kz6NclUP+lnVMxIVMxoVOrBPItbCHFvMjqh23spDKZPn06dOnWYOXMmmqYxbdo0fvnlF9atWwf8NxrX8OHDcXJyYu1a275gsXkm9LJlyzJw4EDGjh3La6+9Rnh4OPPn5+5brcKgRtOqtH72UcwmsyUJiYmBzz6DqlWMVKkCjRvDww+Dv5+ZF15Q7Nv3X/IRsuc0nsXdeXGK7dmhPbgUc2HgtH7odBqbFm1n1sDPSUsz8/PP0L69maAgRf360LAhBAfDo81MrFwJKSnpyce3H/wIwPMTe1LcP3ffngohCrdqJUrybO2HACxJSEICLFwIdR4yU6lS+udg3brgH6Do2VOxcyckpxkZ9PMafr94lWIGeKvOHkj4DBU/h5QU+PZbaNbMRNmy6Z9B9etDqVKKzp3NbNwIZtO/yUfyWsCA5jkGTXPO8/PXNA3NYwRonpD2lyUJ2b0b+vVTBASYefjh9GtQuTLUqmVk3jyIi/sv+QAzFOsGTnXyPH4hhLDV6NGjWbRokWWy8WrVqvHII48we/Zs4L+WcYBXXnmF5cuX27R/Td0+oPAdLF++nI0bN7JlyxbS0tLo1KkTXbp0oX379hQrVsymAztSbGws3t7exMTEWGZxvxcmk4kZ/eex9eud6PQ6Qt2GczauMf7so5Tajgs3MONMFNW5auhAstGNjoFTSApPTz4++uU9Kte17dk4e9u+YhcfPvspZrOCwJZsDRtMcf15Spk24cl5QJFIaa7q23LD9CBNSi3H7dpqAF6Z9QLdXnsiX+MXQuQvpRSTf9/B4kN/A2D+pQ0XN9TGrfo53BsfxeAbCyYdyeeCSNr9MMmRnjz83k9EeV+gmMHAoqe608B7Iyp+OgCffz2UIaOH06rZXl56djlVK4ViNmscOFKTBUuf5fDxymz5YQwtH/k3+fCZhebaLt/OH0ClHkZF9QcVx5kL9anbaiEBfjEMfn4pjz2yHxfnVC5eCWTJyh6s2dSaQc//zOwpY9A0MxTrgeY1BU2z+Xs/IYose9+v2UtGXBUmfoDO1dWu+zYnJxM6/u0Cd8538vDDD/P3338zZcoUZs2axblz5/D19bU8VRMZGUn16tWJuL0J+w5sSkDKlCnDU089RdeuXWnRokW2MycWBI54Q5tMJt7tNo+/1u1EoSNNueGsxWcpp5RGKl64aDHoXNz57I/3qFIvf5OPDFu+3sW05z9FQ5GsfHHVsh/RJlkVx1WLAuCFD16g71uSfAgh0pOQ0et3sOpcehJijC2GwSspm3JginHH4JOAzmTgmx7daRxcBoD4iIW4mdOTkLBwP4JKZZ2VXSm4Eh5AmcBrGI3pyYeTR/4mHxnMqYdJvNIft2JxhF3zo5TfdXTZ5BTXbxTH1ycGvd5MTGoPfIIl+RDidpKAFJxztkZYWBhubm74+Phw4cIFypUrZ9l29OhRatWyfq4omz4NL1++zNy5c2nTpk2BTT4cRafTs/7sYCK1+miYs00+ADRN4aLFYFYGdie/x5lrBSP5ANh9riknGIpS5Jh8AJbk46zWlx1nO+ZVeEKIAk7TNP765DHi99YEyDb5SC8HBp8ElEnjytzunNpexrJt6OiXmDRzGEC2yUdG/TKB1zCbNZ4dMoOZcwpG8gGwZn0dWnX7itRUJ4ICsk8+APxKRKHXm/nh5/Z07DlBkg8hCiPloKWQCgoKwsfHByBT8gHYlHxALvqA3K/+/BOOHndCM6dYVV7DiN6g47PPbB95yhHS0mDuHBN6lcQtj+3dkWZO4uuvFdHRDg1NCFFIhITAjl/1oE+zqrymV+idjcz+LKOZHpYvV7i7WTeSlE6n8HBPZN48IyZTrsO2qzlzTDg7K5ydrbsGLs7J7NnjzP79Dg5MCCEKEUlArDRvnhkPQwS+HLOqvKZBoHEDmzdrhIY6ODgrrFkD1yP1lGGL1XVKs420VMWSJQ4MTAhRaCxYAM5eSbg/dMbqOu5ND3HgLx0HDsCiRaBpJl7o+aPV9V95fhmXLhlYvz43EdvXP//Atm16Bj+/1Oo6HVvvpGyZa8ybV4i/9hTiPnU/j4LlaJKAWGnvbjPFjfvRbHjn+PEXSmkcLACjLv71F3g43cRDu2h1HRctGh/dOQ4ccGBgQohCY+8+M06VQ9EM1jdHuNU4h6ZTHDiQ/jnUpP5BSvhGW12/Xp3jBAbc5O+/cxGwnWXE0Onx7VbX0evNdGy9lYMHjQ6KSgjhMPIIlsNY1ZHj4sW737SWLVv2noMpyBISoRjZP++cEz3JAMRn310kTyUkgN7G+AF05oQCEb8QIv/FJSh0nrbNw6Hp0h/Dio93IiFB4eERa/NxPT0SiI/3tbmevSX8++SYh3uiTfXS45e7DiGEyGBVAlK+fPlM4/3eSimFpmmYCsoDug7i7Q3x12wbrSANTwD+7a+Tr7y9IU15ohRW9wEBMOp9CkT8Qoj8V9xHIzTGzaY65lQDxmQnfHzA21sj9JSfbfXNGpE3fcjlJO52lRFD5M3i+JfMeSCP212/4Yu3tw0fvEKIgsERj0zJdxGAlY9ghYaGcu7cuWyXjG1FXbv2Bm4YmmBW1o/+FU4znJ3MNGniwMCs1Lo1JBq9iKK61XUSVBDRxvK0auXAwIQQhUbbNjpSTlbElOhidZ2Ev6uhaYoWLdI/h/YcqEXoxTJ3rZfhl9+acjPKs0B8DjVrBgaDmZU/WT80eWKiK2s2taNVKycHRiaEEIWLVQlIuXLlclzKlClDZGSko+PMd6+8AslGDyKob1V5pTTCDR3o2UujZEkHB2eFFi2g8gMmrmjtra5zmbYU9zHx9NOOi0sIUXi89BJg0hP/VzWryisFibsepl17RcWK0KsXeHub+d/Xz1h9zHmL+1GnjrFAfJETGAjdusH8Jc9htnKAwx/WtyM6xoPBgx0bmxDCAaQPiMPY1Al9w4YNlCtXDicnJ/R6PXq9HmdnZ5oUhL8MDlatGrRrHYeblv249dlxN51m+PCC0eyuaTBipA4Pdd7qOp7aeYYN13Cx/stOIUQRFhgIvfoYcQ6Isqq8poEuKJw330j/U+PmBq+8olHrwdNWH/OhGsd54w2DTY+OOtLrr+t4uNYRwLqAKle4SM9n4qhUybFxCSFEYWJTAvLWW2/RrVs33nvvPbp168bSpUupUqUKmzZtclR8BUZCbCIVYqbixVnScCNKVUGprH+AUpQ30aoKmqaorfuExPO78yHarJRSOF1aQQUtffjLG6omJpU1szArAzdUTRQaQezA49LnmK39qk8IUaSlGI3w5FqKVb2IOdVA0pnSKHPWz0FTggtJZ0oD4Nf7F24GHgFAKROTRo6hT7d1pKUZ+PX3xqSmZn00KS7enV9/bwzAxNGz6ddtjgPPyjaNH/qZr+eMQqdT7NpXl4jI4lnKmM0af+yrS0ysB4/UP8iSTwejzNbNfSKEKECkBcRhbJrO/Pz588yYMYNz587x66+/0rdvX2rWrMnIkSNp2bKlo2LMdwmxiYxtP4UzB07j7uNOZJl3OXD0ATwN4fgbt+HCDcw4E63VJEJrjLOzol+9+YTu3sn7vT8B4LEej+Rb/EopFo9bwfIP0pOPoBYvsG1HRwy6FPxN2/EkFA1FAmW4ZmhNstGDp5v9Tsyfn7Fl8XZ0GryxcDC6nKb8FUIUeSlGI4N+XsOfV87jajBQYndX/lhRFpcScRRrcBRDiRiUUU9KaBBJhx5Eh0anab9xSPubsdt+QaF4pszX6FLXojAwb9lM3hzbgQC/KJ7v+T1VHziLyaTn4NEafPNDVxISi7Fu5Re0bzYdEmajNNA8hubrNVBJP6NiRqLTmfnnQg/a9ZqE0Qg9Om3ksUf24eqSwqUrgSz57hnOni/NoP4HmfP+SxjUX6iogVB8IZrOPV/PQQghCgJNKWV1LlaqVCnCwsIwmUyUL1+eK1euAODt7U1MTIzDgrRVbGysJSYvL9tGrrpdRvIRsuc0nsXd+eiX93jg4Yr88QfMnWtmzRpITtahaYrKD5h4dYiB558HT08TM/rPY+vXO9Hpdbyz/PV8SUIyko9v/00+Xpn1At1ee4ILF9InFfvyCxMR1/UA+HibeO55Pa+8kv7I2fYVu/jw2U8xmxXtX2wpSYgQ96mM5GPnxfMUMxhY9FR3GpYuw/79MG+e4vsfFAnx6Z+DweXMvDJIz4ABULKkYvLvO1h8KH0Cjffr/0bPimfQfGahubbjxAmYPx++/dbIzZvp34eVLm3kxRcNvPwyBAeDil+Iip8OgOYxPN+SkIzkA8xQrAea1xSionQsXgz/+18ap04ZUErD3d1Ely46hgzRaNwYSDuMiuoPKg6c6qNJEiKEhT3v1+wpI65Kb3+A3tXVrvs2JSdz9oO3C9w55zWbWkAaNWrEpEmTGDt2LKVLl2b79u1omoa7e9H9ML1y+irnj12yJB+V61YE4NFH4dFH02/GU1LAyUlDp7v1cuoZ+dWrAGz9eid7fj6QLwlISlIq+zelz4SYkXwAlCsHH3wAH3ygx2hM7yzq5KTPVLdlr6YAfPjspxzZeYLYG3H4+BWAsTCFEHnqSlwsRyPCMyUfAA0awKJFGosWaaSmgl6vodff+jmiMe7RFmBOYvGRELZeqUDPh19Fc20HQPXq8Nln8NlnBtLS0vuMGAyZ/yxpHgMBUPHTUSk7wP1lNM05D876P0opVMpWbk0+NE2Hry+8+Sa8+aYTZjOkpYGLS+bPUZzrQPGv0pMQ40kwXQTdg3kavxBCFDQ2tYCcO3eObt26sXr1ag4ePEjPnj0xm81MmzaNESNG/L+9+45vqt7/OP46SbqblhYoo2VPLVNRENCyBAVFAQVEUURUXHj16hXkiopeQX9e3AO9MhRQQBwgoKiAAweIylCGbGjZ3Tvj/P6IrRaKpqVJ0/J+Ph7noUnON/mcNiTn3e84vqyzTCo6UW9es5WQsODi8FEWLpeLj99YySWje2G1Wf++gQ9kpWWzdtlP9L72wnK1X/PBWlqc25S4BgGwnJeIVIotx46SVVBQHD7KwjRN3tn0JYOaOgiN7FOu1zfzPoCQ3hgWe7nany7TdEDeIggbimGUvSfYLNwAgBHcvqJLE6my1AMSOMfsb2UKICfav38/eXl5tGzZsiJrOm2B+oauqrLSsln88icMH3/lCX/d9M7n877i55WbuevFmwgOLftfLn9auYmC3EK6XHZumduKiADsTkvj4dWfM+OKwdjKMZT04dWf0zauLlednViu1zdNJ+RMh/AbMCyRZW/v2ATOPRhhl5fr9UUCUaCerxUHkAk+CiBTFEDKNAQL4Ntvv2XWrFmkpKTQuHFjbr31Vl/UJQHC7XYzccATbPnuN1J2HuLe18eWCCGFhXDsmGfoQc2aEHnC9+rq+WuYOvJ5MCF5x0GmfvzvEiHE6fS0z8+H2Fg48d/iTys38dDlU3E5XTy96lESu7by5eGKSDWU73Qy4O03yXc6uWTuLD6+dlSJEJKdDVu3eobTtmgBcXEl2/975afM2+xZySshyk6XhIZlrsHMfATyFkDBVxDzvxIhxOXyfA7m5kJMDNSocUJbxybM1FFgZoPFjhHSo8yvLyISSMr0Z6B58+bRs2dPMjMzadOmDUePHqVz58588sknvqpPKpnFYmHIPy7DYrWwYtZqpt38Ki6Xi19+gTvvhNgYF/Hx0LgxREWZXHqpm6VLPV+oq+evYcp1nvBhsVrY9OUWHr3qaQrzC9m1Cx54AOJqu6hXD5o0gehouOhCFwsWeIJNUfgoyCvknIvb0eLcsg+BExEJtdkYcpan52JXWhqXzJ2F0+1m0SJITAR7tJvzzvNc6bxOHZM6dd08/rjnDyR/Dh/NYmLpVL/sQ9AAjPBhYESB40fMtDGY7mwOHICHH4YGDZzUrQtNm3oCSJcuTt580/OHmT/CRxYEnQNB3l0MV0ROn2H6ZpMyDsE6++yzefbZZ+nbt2/xfcuXL+fBBx/kp59+8kmB5RGoXXpV2RcLvuGJa5/D7XITc3YPFv4yljBbDnWcn1KD7Ri4yKMOh2x9SXc2okuTr4ja/yJul5t+o3rS69oLmTTQEyZqturIu9v+ic3ipo7rc2LYjAUH+dTkiLUXx12taVN/Aw3SnsKRX8j5/Tvy8KL7CQ45+XoBIiLeemjVZ8zd9PtcjLQYdk0ehSUsn6juGwhpdBAsbpzHYshc0x7HwVrUvXYFYedvAjzhY/m1N5Rr+FYRT5i4EcxMDh0/h8Rur+F0BnHtkPfp1/MrwsPyOHSkNnMXXcmnX3Sjf9+f+WDmTVgtWRB07u8raJV9+JZIoArU87WiupqP980QrB1TNQSrTAHEbreTnp5eYgiO2+2mVq1apKam+qTA8gjUN3RVt3r+N/xnxHNgusk2EwjnIBbDVWIf04Qc4okwDmLgpsc1PZnwlmf53p9XbeaBflNwOwvJMesTylGshuOk18k16xBipGLFQdueHZm6TOFDRCrGv1d+xrxNG8AAV24IlpACjBOmtpkmuDIisEbnYBjQMDKWz0adXvgofm7HJvIO3khocCY79zSgds3jRNlzT9pvz/761IzJwB6ZQ67jXCLiFT6k+gnU87USASSkggNIgQIIlHEIVr9+/Xj11VdL3Pf+++/Tp0/5VjWRquWguysb3XdjmhBpHDgpfIBnGc1IIxkDN4eN7vxccEvxtUMyLG1Y55iA27QSYaSUGj4Awo3DWHGQRhu+y75X4UNEKsyheX3I+Lo9pgnW8JPDB/y+HHANT/goPBzDvsdHVkj4ANi0pS1JA2eQmxdCs8b7Sw0fAI0bpGCPzOHHjYn0uPJVTBQ+RKT6KNMnqmEY3H333Zx33nlcf/319O7dm2HDhrFr1y569epVvEn19MwzLtwWO4bh3f6F7nDee9/K79er5Pnn3LhssRicHFxK4zBD+XZtKD/+WM6CRUT+xO2GuW+7yPulqdefY3m/Nmb3Hiu//FIxNbz0EqQcrk9wkNOr/fPzg1n/YzSff14xry8iZWD6aJOyrYLVpk0b2rRpU3y7WbNmXHTRRRVelASen36CdeustGM5ePnFXY+v2GXcwGuvBXPLLfDBhwYt3Mu8/uKvxY+E29J4+eUa/O9/XjYSETmFmTMhP9dKnYu8n7MYef4WUpckcc89VlasOL3Xz8yEOXNc3H/7PGw27/4Qc8F5P9H2rB28/HJTLr64YnphRMQ7vpg0rknoHmUKIA8//LCv6pAAt2YNWAwXtcz1XrexGXnUcP3E11+fR4cOFtxugzi+97q9xXAT6/yOL7+4mHKsGC0iUsLixWDYnIS13uN1G2tEPmGt9vLzz03w+q8vp7BhA+TmWhk8wPuVIw0DBg9Yxsuzb6OMgxZERAJWmT/Nnn/+edq0aUNcXBwHDhxg+PDh5OTk+KI2CSDZ2RBszcdiuMvULogcMjPcZGUV3c4uc/uitiIipyMzE4yQQsp6IXNLWD75hWX77CtN0WdZTHRmmdrViMokK0vhQ8TvNATLZ8r0iTZlyhRmz57NpEmTKCwsJDo6muPHj3PPPff4qj4JEJGRUOgKxW2W7UvQQQRR0Rbs9qLbZZtI6SCiuK2IyOmIigKzIBizjFnCnRdKaPDpB4Ciz7K0jLKtfJOeGYXdfvoBSEQkUJTpE3X69Om89957DB06FIvFgt1uZ968eSxevNhX9UmA6NYN3KaVY5zrdRunGUa6tSMXXmihc2ewWEyO0Nnr9m7TQqqtC0k9SlmmRkSkjAYOBNNpI29LE6/buHJCydvWiI4dT38eWvv2EBHh4r2l/bxuY5qw6KMBdO+uz0ERf9OFCH2nTAEkMzOThATPVWCLLh8SGxuLw1H6cqpSfXTsCOed5yLFcqnXbQ5yIS4ziJtvhvr14corTA7a+uPtlWeOcQ65zhjuuEMT0EXk9N14I4SGu8j8qoPXbbLXngVuC9Omnf7rR0XBdddZeX3OCJxO7wLFt+s6snlrM26/XUOwRKT6KNMnWrt27XjxxRcBz5K8APPmzaNt27YVXtiRI0cYPHgwdrudWrVqMW7cOAWdSnbPPVas7kyvA0SwkcuQIS7i4z237/6HBavzOCbeffEGGflc0DmPDh3KV6+IyJ9ZLHDdCCthbXZ6/TkWlribJk3cJCZWTA133AHxdVNwOLxbWCMsrIBO52agFe5FKoHmgPhMmQLI008/zUMPPcT5559PTk4Ol156KXfddRdPPfVUhRc2fPhwbDYbKSkpbNiwgZUrVzJ58uQKfx3xXl1jDW0tz2MYkG02wG2eHCRME7LNeEws1OFr2gVNx+XyLDdpd27ivKCpWAwXOWZ9XGZwqa+TY9bBRRAxbKZLxDMU5hf69LhE5MwRd82nRHfbiGGAKycEs5TLcZgmONMiMU0Ijkun4cTZON0VMwejTetNfPHhjYSFFbBjd0MyMiNK3W/PvngysyLo2PZXVn1wK0YZF/AQEQlkhml6+3cgj4MHDzJnzhz27NlDgwYNGDFiBA0bNqzQonbu3Enz5s3Zv39/8ZCvOXPmMH78eA4cOPC37TMzM4mOjj7jL3NfkVbPX8OU657H7XITk9iThZvHEmrLpa5zBdFsx8BFHnU4bOtLurMhFzT9Gvu+F3C73PQd1YNe13Tn4SufoiCvkJqtOrJw233YLC7quFYRwyasOMinJoetvUl1taRN/EYapD6JI7+Q8/t35OF37yM4tPTAIiLijX+v/JR5mzcCYKTFsmvyDVjC8onqtoGQRofA4sZxLIasNe1wHKpFnRGfEt7Zs3/TmBg+vnbUaV0R3XRswkwdBWYWh46fS2K36TicwYwY9AH9en5FRHguB4/EMXfRlXz+5QUM6Psz788cg9WSCUHnYMT8D8OiK6JL9RGo52tFdbW89wmsIaEV+tyugny2T3sw4I7Z38ocQNxuNxaLBbfbzfLly6lfvz4dO3as0KI++OADbrrpJo4fP15838aNG2nfvj1paWnUqFHjL9sH6hu6qvpz+Og3qif3/m8sW7daePVVmDnDRXaOpyfEMEwuvdTkzjst9OsHX737DU9c+xxulxuL1YLb5faEiUX3k5wSxGuvwfRXXaSl/9GTknSRizvvsnLFFfDL15v592VTKMhTCBGR0/Pn8NEsJpbl197Akg8tTJoEm391g7soWJjUqWty9zgL998Pj371GXM3bQBOL4T8OXwQdC5GzOukHIzkf/+D115zkpLyx5CsCy5wcvvtNq66CkKsmzBTbwRTIUSqn0A9Xyuqq9U9vgkg255RACnTp+hnn31W3CPxwAMPMHjwYLp168asWbMqtKisrCwiIkp2Sxfdzs4+uRu6oKCAzMzMEptUDLfbzXvPLS0RPiwWC2efDc8/D6lpVg4ehL17ISvLYOlSC5de6hlrnTS0Kw/OvRsMcLvctL3oLB5edD/BIUE0aQJTpsDRY1YOH4Y9ezxr9K/+wspVV0FQEHTo2YbHP5pASFgwP322id9+3F3ZPw4RqYLynU7e3/or8Ef4sFksDBoEmzZBTpaFn36C776Do0cNDh20MGEC2GzwWM8+XNu2PQC70tL4IeXve+FLY+YuKBE+DEsk8fHw8MOwf7+NI0c8n4Pp6fDNNzauuw5CQ8EIaosROxOMKHD8DI4fKuaHIiJSicp0eekHHniAJ598ErfbzYwZM/jggw+oXbs21113HaNGjaqwoux2+0kXNyy6bS/lohBTpkzh0UcfrbDXlz9YLBaeWDaRxS9/wvDxV2I54S9/QUFQt+6p2ycN7YrL5eLnVb9w5ws3ERwSVOJxqxXi4k7dviiEFOQWkNi11ekcioicoUJtNpaNuJ5Jqz/njYGDT+rBCA/nLxe7eKxnH2wWC23j6tAloXxDjo2oh8FaD8KvP6kHw2KB2rX/om1QW4idCc69GCE9yvX6IlIOvpg0rknoQBl7QHbt2sXIkSNZv349+fn59O3bl06dOnHw4MEKLSoxMZHU1FSSk5OL79u4cSMJCQlER0eftP+ECRPIyMgo3vbv31+h9ZzpnE4X+7ellLv9sQOpdB5w7knhw1sderah8wDvrz8iEojMvCWY7tTytXWnYeZ9WMEV+ZfpPICZv7L87fPew3SXv3e7YVQIs/qaWI3yLes9qUsQg1qElfv1DcOGEXl7uYdPGUFtMcIuK/fri4gEkjIFkIiICPbu3csHH3xAt27dsFqt/PDDD8TGxlZoUS1atKB79+6MHz+evLw8du/ezeOPP86YMWNK3T8kJISoqKgSm1QMp9PJ6NZ389lbXzDuggdxl7ISTH6+Z/hUad6Z+j6vPzCHRwf/Hz+t3OTjakUCk5m7EDPjn5ipN5QaQkwT8vIodWlY052GmToKM+N+zNx3/FBtxTNdRzFTR2Km34GZ/0mp+xQWwqlWWjezp2NmjMdMG41pln1VPNN0Yqbfipk5ETP7WUqb+uh0QkHBKdoXfIGZNtZzDK7k0ncSkepHy/D6TJkCyK233kqbNm34v//7P26//XbWrl1Lr169uPXWWyu8sPnz55Oenk5cXBydOnWif//+TJw4scJfR/6azWbjnD7tANi2bmdxCNm4Efr0gSCrk7AwiI4Gi+GiRQuTOXM8bd+Z+j5vPDgPgBpxUbTs1KyyDkOkcgWfA5ba4NxWHEIKC2H+fEhKchEUZBIeDkFBJhde6OLttz0n5EXhA+cWsNSE4E6VfSTlY4n9vXYXZvo/ikPI5s2e62LExjoJCYHgYIiPdzJxIuzb52lqZk/HzP4vAEZITwyj7AtRGIYNI6S350bOK8UhJCUFHn0UGjZ0EhTkmXMRHe1izBiTn376/fULvsBMux1wQFBHsPzFmFEREfFKmVfB+vzzz7Hb7Zx//vkkJyfz/fffM3jwYF/VVy6BuqpCVfb48Gf4YsE3nhtRzfgs43EMTOrxJdFsK16GN5k+FBLL2eHvUT/vbQBi6kQzc9vzRESFV+IRiFQu07kTM/V6cB8lt7AVXfvPYNMvtUm64AcGD1hOTI100jOieX/ZJaxacz5nn3WM7z6+iYhgT/gwYt/CsDWv7MMoN9N0YWaMh/wPMbHy/Kxp3DvhUurGpTJq2AJaNd+Fy23hx41teGvhYHJyw/howWv06/Z7+Ii8GyPyjtOrIWcWZtYTAHz90230unwcoaEORgz6gPPP2YDN6mLnnobMmj+MAym1eeTB1fz7rjswcEBIX4waz2AY5RtKKiInC9TztaK6Wo/zzSpYW5/XKlhlDiBVQaC+oau6P4eQPDMWG7kEGfkl9jFNC9nEE8l+DAOia0cz+zeFDxHwhJCCQ9cTbDvKb7sb4XJZaN385NXdtv3WGMMKLZvuweGqSXCdqh0+ipimC1faeCyFH+J0Wvnyu050P/9HgoNLjr3Kzgln3U9t6dn9e88dEXdjsZ9e+Ciu4U8hZPWa8+nY9heio0oueuJ0Wvl67Tlc0OlnQoIduGx9sdVU+BCpaIF6vqYA4nvlv6KSnHEKW97DIbMrAGFG6knhA8Aw3NgNT/goMKPYaH9W4UPkd3mFzehz1UyOp9agRZO9pYYPgFYt9tCy6R5S06PpPWQmOflVP3wAGIaVh/5vKnMXDcRmc9Gr+/cnhQ+AyIjc4vAx6am7eXNRxYQPgPc+HsU9kx4EoEe3tSeFDwCbzUWPrusICXbw4cd9uOeRaQofImcizQHxGQUQ8doLz7vYx4BSJ8qW5iBd+W1nOFu2+LYukapi3jz4Zm1z8vJDvNo/Py+Yb9e1ZN48HxfmJzk58MorJpu3eh+oNv56Fs884/T6c+fvPPOMi42/JHq9/6/bmjJjhpW0tIp5fRGpOgzTN1tZHTlyhMGDB2O326lVqxbjxo3DUcqqHZdeeimRkZElNsMwuOWWWwAwTZPo6GgiIiJK7HPipS/8QQFEvPLRR5CeYaUhy/F2Fcv6rMHAzT33+LY2kari5ZedXNr7KxLqH/Zq//r1jjLg4tW89FLFnYBXpnfegcxMC7eMXOB1m9tumMPGjTbWrDn919+4EdassXL7jbO9bnPjNe/hcEAFX29XRMRrw4cPx2azkZKSwoYNG1i5ciWTJ08+ab/ly5eTnZ1dvL366qvExcXx0EMPAbB9+3Zyc3M5fvx4if1OvPi3PyiAiFfmzgVwEcd3XrcJNrKoyc+sW3fy0r0iZ5qMDPjpJxvDrlhSpnbDr1zCxo02Ust3CZGAsnIldDl3E00aen818YuT1hAbk8WqVRXz+mFhBQzs5/31SOrGHaNnt29ZtaoaJEARKZsAGIK1c+dOVq1axbRp07Db7cTHxzN+/Hhmzpz5l+22bNnC2LFjefvtt2nQoAEA69atIzExkdDQip3XUh4KIOKVtDSwUoDFcJapXTCZFOQrgIhkZHj+W7tm2ZJErdi0Eu2rsowMk1o1j5apjcViUis2vUKOPyMDakTlEBRUts+x2jWPk56uzzERqTiZmZkltoJTXIho06ZNxMbGkpCQUHxfu3btSE5OJj09/ZTPf9999zFgwAB69epVfN+6detwu9107dqV2rVrc9FFF/HNN99U2DGVhQKIeCUyEtwEY5plu4qwk1CCg8t35WGR6qSohzsrp2xd3dk5nkUcIst3Ae2AEhFhkJ1d9lVfsrIjKuT4IyIgOyeszMPZsnIiiIzU55jIGceHPSANGjQgOjq6eJsyZUqpJWRlZZ00RKrodnZ2dqltvv32Wz755BOmTp1a4v6QkBA6derEokWL2L9/PwMHDqRv377s2rXL+59JBVEAEa/07QsmNlJp53UblxnMcTrSoqXVh5WJVA2xsdCkiZOPVvQuU7slK3rTsKGTWrV8VJgfdeoE3/zQkWPHY7xus+7nthw8HMu551bM62dlh/HFt+d73SYrO4JVX3ejUyd9XYpIxdm/fz8ZGRnF24QJE0rdz263nzRJvOi23W4vtc306dO5+OKLadKkSYn7n3rqKWbMmEG9evUIDQ3lvvvuo1GjRixbtqwCjqhs9IkqXhkzBkJDnOznEq/bHOICXITy5JM+LEykijAMGDvWxoLFAzieGu1Vm7R0O+98cDljx9qwVINP6xtvBLAwa773F699dfYIGjZ00r//6b9+UhK0bu3k5ZkjvW4zZ9Hl5OWH8PsiMiJyBjF8tAFERUWV2EJCSl8dMTExkdTUVJKTk4vv27hxIwkJCURHn/xd4nA4WLx4Mddff/1Jj02aNIkff/yxxH0FBQVEVkIXezX4ShN/sFhg6DAbEez3eviCnb3UjnXSo4dPSxOpMkaPhlqxGV4Pw8rKiSS2RhY33eTjwvykVi0YPtxCXkGYV/ubJuTkhnHbbTasFdCRahhw5502cvNCcLu9G1JVWBjKFVeY/Gn4tYiI37Ro0YLu3bszfvx48vLy2L17N48//jhjxowpdf8tW7aQlpZG165dT3ps8+bNjBs3jsOHD1NQUMBjjz1Gbm4uAwcO9PVhnEQBRLzWr9X7NDfmYRjgMoNOGUQcpufkIsrYw4B6D+F2a/KmCEDN2DQ2fHkTjRukkJEZSU5u6SuR5OaFkJ5hp2H8QTZ9NYratarBEli/e+n/XuOhe14EIPlgXKn7mCbsT6mDYcDcl//JP+/8pMJef+yNX/D+zDuwWEwOpNQ55edYyqHaANx98yxmvfQ8ZnVYB1lEyiYAVsECmD9/Punp6cTFxdGpUyf69+/PxIkTAYiMjGSuZ6lSAPbu3UtUVBSNGjU66XlmzJhB69atadu2LfXr1+fbb79l5cqVxMbGlr2o02SY1fBTNTMzk+jo6DP+MvcV6Z2p7/PGg56roTkt0Xzpep4QMmjAcqL5DQMnedQhmT6k0oF2xn+Ll+xtdV4znv/2CSzVYQyJSDmZ7jTM1FHg3EJ+YU0u6D+b3XsTuH7oIoYM+Jga0VmkZ9h5f1lfZi+4moYJKXy3/AbCQo6CrRVG7GwMi/+/JCqSmT0dM/u/ALz61l3c8a+76NF1HWOum0erZrtxuy2s35jI9DdHsmlLM1a8O56eF3wIWDFqPIsR2u/0Xr/gC8y02wEH32+4mIsue5aWzQ5w2w1vcl7HjdisTnbsacQbc4fx6RfdeOLfM3jgjt8ncUbchhH5DwxvL4QkIn8rUM/XiupKHPsE1pCKXbLWVZDPL68+GHDH7G8KIPK3/hw+YupE88aW53ljVjj//a+bAwfgzx1p4WFOrhlh46mn4OXbn+GLBZ7l3RRC5Ez25/CBpSZG7FscONic116D1193cviwrXjfuDgnY8bYuOUWaBi/EzP1enBX/RDy5/BhRN6NI/gO3nsPXn7ZxVdf/TG+ymIxuewyk9tvt3BxHxdkjYf80w8hfw4fhPSF6GdYvTqIl19288EH4HL98dnUpYuT22+3cfXVEOKahZn1hOcBhRCRChWo52sKIL6nACJ/yel0ckXU9RTmO4ipE83Mbc8TERVe/PjOnbB+PeTlQfPm0K1byfaPD/8jhExePJ4LLquApWxEqhgz+zXM7KeLw4dha178WGGh599RZibY7Z5/R8HBf2rr/COEGJH3YETeVglHcHpM1yHMY5eCmYMReTdG5B0lHk9OhkOHwGqF+HioXftPbU0XZsbvIcSagFHrYwwjmLIwTSfm8SvA+RuE9MWo8QyGEVT8+PHjsH8/OJ0QFwcNG57QPqcohIRg1PoIw3by0AYRKbtAPV8rDiC3+iiATFcAsf39LnIms9lsPPP14/x39MtM+3JyifAB0KyZZzuVf79zDxaLQYOzEhQ+5MwVMQbMTIywK0uED/CEjbPOOnVTw9YMYt/EzHsPIm71caG+YVjrQszrUPgjRuTJy0nFx3u2UtsaVoieimmpiRE+oszhw/McNoj5H2bODAz7v0qED4CaNT3bKdtHjAIsYGum8CEiUgHUAyIifyuzIJ/NR47QtUHDv9+5FF/v20v7OnWxn2KZwarg8107uahRY4LKsRxTal4uO1JTOT9eSymJiBQJ1PO1Ej0gwRXcA1KoHhDQKlgi8jeyCgq44YNF3PjhIj7duaPM7Zfv2M6NHy5i9OL3yCks9EGFvjd7w4/c/NEH3PXxRzhcrjK1Tc3L5br33+WGDxaxZv9eH1UoIiJSdSiAiMhfCgsKokF0NA63mzuXLykOIUePwpNPQuuzXUTHuImOcXN2Gxf/93+eMfXgCR/jln+EyzRpGF2DUFvVHPXZODqGYKuVFTt3FIcQlwuWLoX+A9zUinMRYXdTL97FDTeYrF3rWUq2KHxsPXaUqJAQ6kb4/2JPIiJSPobpm000BEtEvOB0u7l3xTI+2r6NIIuFrumXM/exZrhMN+HttxFU7xgAjpTa5G5oidViMPKRHXwZ6Qkfg1qfzVN9+mGtwqugfbFnN7cu/ZBCl4vzYpvz/cP92bsriLCGRwg5eweWkEJc2eEUbDiL/GN2zk/KIerGRezMOErt8AjmDb6aZrF/MdFAROQME6jna0V1tbnFN0OwNr+mIVhV88+RIuJXNouFaX37gwkf/baN1eFLqDGsJWFn7cEakV9iX1f2KnK3NmJl6DYM0+TKVlU/fAAkNW7C9AFXcMuSD1mXuoPCAe9TP6iQ4IaH+fOqrOZlX5O3rSEpMVkczUglNkThQ0SkSirnhQP/9jlFQ7BExDs2i4VWu/uTvb4Vhs1NZKetJ4UPAGtkHvZOWzGsJllrz+bsA1U/fBRpY29C6lsDMZ0WQpvvJ6RRyfABYFhMws/aS1DdVFxZYRS+cxVNYxQ+REREilSPswIR8Tm3G576P5O8X5t43Sb/16Y8+ZRJdRnoOXMmpP7UCHehd53HjuPRbFpdi1WrfFyYiIhUOM0B8R0FEBHxyiefwL49VuwXbvC6TWT3n9mx3crq1b6ry1/cbnjhJRfhHbdhDfduNa+QRocIq5/Kiy/pG0dEpMoxfbSJAoiIeGf5cgiLyyCk0UGv24Q2O0BobDZLl/qwMD/Zvt0TwCI6/ep1G8OA0HN+YdkyfeOIiIgU0SR0EfFKWhpYorJPmvPwVwwDLFE5pKdX/eVn09I8/7VF5ZSpnTU6m4J8C4WFnquei4hI1eCLIVMaguWhHhAR8UpYGJiOoLI3dAQRFlbx9fhb0TGYjrL93cYstGGxmgSV40cnIiJSHSmAiIhX2raF/AO1cGaGe93GmWYn72AM7dr5sDA/adYMQsPc5G5tVKZ2+duacNbZ7jL1HImISADQHBCfUQAREa+MHAlBQZD1bVuv22R905awcJNrrvFhYX5it8N11xrkfdcB0+VdG2daJLmbm3Hn7VbfFiciIlKFKICIiFdq1ICR1xm4j8d4tayuaYIrNYbRoyxEVv0pIADccYeBo8CCO9e7MWWuzEgi7E6uvdbHhYmISMVTD4jPKICIiNcuvu03ag7/BMMAV+6pZ1S7coMxDKg1Yjm9bt7hxwp9q2GrXNpPfherPQ93QRCmu/T9TJcF02UhpNEhej61jNBwL7tMREREzgBaBUtEvLJ8x3YmrvkILCaWbWexZ3o/whN3E9n1Z4LrHQegMKUWOd90IGdLY5rdvhxXs22M/3IJkRGXc3Gz5pV8BKcnNS+X695/l3TbUUJdEex4+mqshpXwC34ivM0uLCGFuLLDyF5/Fnlr2xHc8CD1bl7M5vwd3PXxR7xwyWUEWTUUS0SkqtAqWL6jACIif2v5ju2MW/4RLtNkUOuzefjGfsxra+H5F5qy5dWSwaJNWzfjXrYw7Jr+/Ptr+Gj7Nu5cvoQXL626IaQofGw9dpTa4RHMG3w1h86vyYsvmry7qAepH/Qs3jfC7mbsjRZuv70ph0Ku4NalH7Jip0KIiEiV44shUwoggAKIiPyNjPx8xn+2ojh8PNWnH1aLhbFj4dZbLWzcCMnJnmt+xMdD27aW31d8sjCtb3/AE0Ie+PwTuiQ0wB4SUqnHUx7TvvumRPhoFluTZt2gWzeD547Apk2QkwPR0XDuuX/MeWlFE6YP+COELNryC8PbVIMlwURERE6DAoiI/KXo0FCmX3YFS7ZvZXKP3lgtf0wdMwxo396zlcZm8YSQiKBgBp91dpUMHwAPdk8iMz+fuztfQLPYmiUei4uD3r1P3TapsSeEfLF3N0MTvV9BTEREKpdhmhjerLpSxucUTUIXES90SWjAf3pdXCJ8eMtmsfB4zz4EWco/9Gjb8WNkFhSUu/3pCg8K4vlLLzspfHgrqXETrmx9Nk73KWat/w2Hy8WGw4fK1baiuB3bcRd8V/72OfNxl/P4A4Fpmqw/mFzu9ilZmSRnZVZgRSIiVZcCiIj4lMvt5r5PP2bou+/wyc7fytz+lyOHuWbRfG78cFGlhpDT8dXePQx7dz53LltCoatsK2I5XC7u+vgjhr37Dl/s2e2jCv+a27Edjg+CtFHlCiHu9Psh6yFIHVwlQ4hpmjz7/TdcvfAd3vhpfZnbp2Rlcu17C7l20QKFEJGqRMvw+owCiIj4hdPt5q7lHxWHEIcDFi6ESy510/IsF81aurgwyc2rr0JWlqfNL0cOM/KDd0nPz6/EyivOZ7t3lgghW7bAuHHQroOLxs1ctO3g4s474ZdfPPsXhY8VOwNlKWN3iRCycydccQXExDiIiCgkMrKQ+HgXjzwChYW/t0i/H/I/rLySK9h/vlpdHELcblixAoZcZdI60UWT5i7O7+LiySfh6FHP/kXhY29GeqXVLCISaAzTrH6D0TIzM4mOjiYjI4OoqKjKLkfkjOdyu/nnp8tZvG0rNouFYfbLeO2BZhw5bCG8WQq2hINgmLiOxZL7axPCwk1unXiU1bGe8NGxbj1mXjGEqCo6hwQ8vSC3fPQhBS4n3es148DrA1j1aRDBUXkEJ/6GNawAd14IBb+2oDAjjKReDhrftowvU3YQbLUyfcAVJDVuUmn1ux1b4fgQwIGJhTsmzuT1WedjMUwu7/c5TRoewOGw8eV357Hhl7MJCXHw/acP0rbF7+HDdjbEvoelHMP4AkFRL8gLaz3ha3j9HrwzvgO7d1oJSzhGUNN9GDYXzrQo8jY3x2pYGHlbFjs7LGRfZjoNo6KZO2Qo8XZ9J4kUCdTztaK6Ol77H6zBoRX63K7CfH6aOzHgjtnfFEBExC/+HEJMl4WM1R0JP2svwfWPldjPmWYn++cW2M//FWtE9QgfRb7au4ebl3xIodtJ3tZGuHJDiWj3G4btj2FJptNCzqZmWEMdhJ21hyCLldcuq9zwUcTt2Ip5fAgGDpwuC3PfHcilvb8krlZqif3W/dyWjMwI+lz0+3CtKh4+ipwYQrK+6kBQ/BFCmqT8vvKbhysnlOz1rQg/ew9BtTJoEBXNPIUPkZME6vmaAojvVe1vAxGpMqwWCwOsl5L9Q2sMq5voXutPCh8AtpgsavT8EWtEPvm769H5YPUIHwAXxDfGXDIQ02ElrPVeIs/ZViJ8ABg2N5EdfyPsrD2YTivm4oF0ja/88AFgCWrNqHsWUVAQhM3q5oZhH5wUPgDO67CpOHz8tOksFn5e9cMHgGEYXFqjK1mfdwbAfuHPhDYtGT4ArBH5RF+0gaBaGTiORdP856sVPkSqIs0B8Zmq/40gIlXG1KmQ/dU5mCYnnbSVJvuH1kybGoTD4fva/OGjj2D7iiY4Ur07GXWkRfLbp01ZvNjHhXnpwAF4e2ELpr853Kv93W4YfOOLTJjg48L86PnnDTK/6Ijp8uINDORuacxbr0QVzwkRkaqj6EroFb2JAoiI+Mn27bDycwuR3X/yKnwA2C/YzOFDloA5AT9dL77kJrzJIYLrpHm1f3DtDMKbpfDCS4GxctR994FpwuABK7za32KBO2+ay949ngn3VV1mJsx+0014l40YVu/OIiLP2YbLdDNjho+LExGpQhRARMQvFi8GW6iT8A7bvW4TknCUsAZH+eAD39XlLzk58PlnFsLO31imduHnbeKLVRYyA2D11s8/d3Fx0hoS6h/2us2oYe/hNi0895wPC/OTlSshN8dCZOfNXrexRuQT1mYH7y4KjBApImWgIVg+owAiIn5x7BgEReViCSrbdTCMGukcO1b1P7FTf58qYYvJKlO7ov1TT55q4XcFBS4aJZTtYnw1Y9MJDSngsPeZJWAdP+75b9l/h5kcS63672ERkYpiq+wCROTMEBICprMcV0N32QgN9XLMVgArmkdf1p9B0f6BMA/fYjEoKAwuUxvTBIfTSmjFLiRTKf78OzSCnV63M53WgPj9iUjZ+GLOhuaAeKgHRET8onVryE+NwHGkhtdt3IU2HHvr06qV7+ryl9hYqBHrJn9HQpna5e9MIKqGm1q1fFRYGdSubWPVmi643d4Hwm/WnYPLZaNTJx8W5idF78P8nd7/Dk0THLsaclYrfd2KiBTRJ6KI+MWgQRAd4yZzTXuv2+T81ApHTghjxviwMD+x2eCWMRby1rXFXehdL4i70Eru2nbcfJOFoCAfF+iF++832HcgnhWru3vd5uWZ1xIa6uDuu31YmJ906gRt27nJ/rqD120Kdtcn70Atbhtb9XvxRM44mgPiMwogIuIXoaGeE3Dn/nqYXvwF3TTBsb8ufS5207y5Hwr0g7FjwZlvxZka7dX+zrQoHHk2xo71cWFeGjMGIiMduLzsATFNOHI8hj59grBVgwG/hgF33WkhP7m21yHSkVybxk1d9Onj4+JERKqQavCVICJVxaBbD/NurQ/AYuIutGIJLn1CutthxRLkImbQKq45JwJo4dc6fSWhoYukJ5eyNyjVcx0Ji1nqksSmCbgNguukcdHUJTRscjlQjvkzFcxigfWrHqR5wpcAuFwG1lMsR+t2G1gsJsvfHkNeyCygi/8K9aG+QzJpenQBzmBX8fu0NKbLwLCa2C/cwLChMVgs5/q5UhGpCJqz4RvqARERv/jlyGHu+PxdCM3HOFSPA4/ewtG3LiV/d31MpwXTZVB4KJbj7/Ug5eGxODZ7rpg+ddNHfLLzt8ou/7Q5XC7u+vgj9gbtwGJaOfzaIA7/93oyv2mLKzcE0wRXbghZ37bh8H+v5/D0wVhNG/uDd3LnsiUUusq2epgvuNPvp3nCh4DnCud12nzLxCfuZeeeBrhcFvLzg1n5dReuuukFzr34PQoKPVdMtztH4S74rpKrP30pWZmMWrIQZ2QGtpxokp+4kSOvX0nulsa4HVZMt4Ej1U7a8gs4OPlWsj7zXDF9/sHVvPHT+kquXkTKzDR9swmGaVa/n0RmZibR0dFkZGQQFeXdFYdFxHd+OXKYkR+8S3p+Ph3r1uP5XkN4e1YIL7zkYt+ekn/Zj6np5tabLdx2h5tpvyxn8bat2CwWXrj0Mvo1q5o9IUXhY8XOHQRbrUwfcAWOHU149jk3y5YamOYf3SCGYXJpf5O7x1kIa7WHWz76kAKXkz5NmvFi/8sJtlZOT4g7/X7I94QPbGezeuN73HuvhV82O3G6Snamh4c7GDAgiP+9upXIwiGAA7BAzCwsIVWzJyQlK5Nr31vI3ox0GkZFM+vyoXz6XhTPv+Bm86aSf8sLj3Bzw/UWxo0zWZ7+DS+s9YSviRf24KaO6gkRKRKo52tFdZ179ePYgip2CT+nI5/1C/8dcMfsbwogIuJThS4Xvd58g5SsLDrWrcfMK4YQ9fuapG43fPkl7N0LLhfUqQO9e1O8ZKvL7eafn3pCSLDFysobRlPfXvX+Tb+49jumfbemOHwkNW5S/NjevfDtt5CVBXY7dO4MTf54mK/2/hFCxp1/Af/o0tXv9bvzlkPG77PIbWdD7HtYLJ6T7kOH4PnnISXF83vr2BFuvtkzXAvA7dgKx4tCSCjE/VzctqowTZPhi+azLiWZhlHRzB0ylPjf34emCT/8ANu2QUGBZ7Wz3r2h6KvHNE2e/f6PELLgquF0qh9fWYciElAC9XytqK5OV/kmgPzwrgKIAoiI+Nza5AO8sPZbXuo/sDh8eMvldvOvzz6hc3wCQxPb+qhC38pzOLhj+RJuaNexRPjw1ld79zDj5/W81H8g4ZW0HJY79SZwHy8RPrxu69gKqSMg6j9Ywi71UYW+tSstlfGfr+CZfv2Lw4e3ikKI2zS5t0s3jNIm/oicgQL1fE0BxPcUQETEL0zTLPeJl2maHEjbSINY75fw/bPj2QcIsgYTFRZXrvYV4XSOvyLaVwS3213u3ovTaRsoTvc9DFT671AkkATq+VpxABniowCySAGkan8biEiVcTonXt9tf4S4/GH8uHtmmdsey95H5qGhpOwfRmbekXLXcLpO98QzEE5cTydAVPXwAaf3OzAMIyB+hyIigaDqfyOISLXmdruxuXcQZHHTJmRqiRAyZw4kJkLNmi5iYpzUr29y222Qnu55/Fj2PrIODadR5DFqBGWQlX+0cg5CRESqHMPtm00UQEQkwFksFs5pOYv1aedhs5i0CZnKWx/NJCrKyciRkHb8CL27f8KA3ktpVP8nXn0Vatd2Muz6P8LHkbxInNGziI9JrOzDEREROePpQoQiEvCs1iBPCNk+inNj1jHsnKn8cM9xejTZyYA+q7HZ/rhGxrYdTZj+7hWMvXlOifCRENuuEo9ARESqHPP3raKfU9QDIiJVg9UaROr+WSxc3wmbxeT/bn2dhudtKhE+AGolHOTuO2bQsuYxDmZHcu8TCh8iIlJ2humbTRRARKQKufeeIO4ePY11R+pis5i0jTnKT8f/WNnqeH4o2Y5gGtkzOZIXxouzr2HhzLM5Unlzz0VERE7LkSNHGDx4MHa7nVq1ajFu3DgcDkep+15++eWEhoYSGRlZvH388cfFjz/11FPEx8cTERFBUlISW7Zs8ddhlKAAIiJVwoEDsG2bi1tHLuScWof44WidEiHkxPBR6LJy88BluNwW7r+/sqsXEZEqxzR9s5XR8OHDsdlspKSksGHDBlauXMnkyZNL3feHH35g6dKlZGdnF2+XXHIJAG+++SbTpk1j2bJlpKen07lzZy677LJThhlfUgARkSrhv/8Fl8vKTSMWYLVAx5qHi0NIx5pHqBmaXyJ8JERm07hBMr0u/JalS11//wIiIiIBZufOnaxatYpp06Zht9uJj49n/PjxzJx58rL0Bw4c4NChQ5xzzjmlPtfrr7/OXXfdRfv27QkKCmLy5MkcPnyYL774wteHcRIFEBGpEg4cAJvNQUL9wwDFIWRTaq0S+xWFjyItm+6hoEABREREyiYQ5oBs2rSJ2NhYEhISiu9r164dycnJpBetOf+7devWYbfbGT16NHFxcbRp06ZEUNm0aRPt2v0xJzI0NJSWLVuyefPmcv18TodWwRKRKiEoCNxuC6YJRddzSy8MpUZwQYn9jhaElwggDodNF4ATEZGAkpmZWeJ2SEgIISEhJ+2XlZVFREREifuKbmdnZ1OjRo3i+/Py8ujevTsPP/wwbdq0YeXKlQwZMoTw8HCGDRt2yufKzs7G39QDIiJVQtu24HZb+WFDW+CPCecNIrM4mh/GtvQYz35/mphumvDNunOIjrZWWt0iIlJFmT7agAYNGhAdHV28TZkypdQS7HY7OTk5Je4rum2320vcP2LECJYtW0aHDh2w2Wz07duX66+/noULF/7lc534PP6gACIiVcI//wnBwQ5emTXipAnnBU4rzaPSTpqY/s26c/h1ewtuv10fdSIiEjj2799PRkZG8TZhwoRS90tMTCQ1NZXk5OTi+zZu3EhCQgLR0dEl9p09ezYLFiwocV9+fj6RkZHFz7Vp06bixwoKCti+fTtt2rSpqMPymr6VRaRKCA6GHj2CWLW+A1mFISdNOD9xYnrbmKMs/aUNoaEOrYIlIiJl5ss5IFFRUSW20oZfAbRo0YLu3bszfvx48vLy2L17N48//jhjxow5ad+MjAzuvPNOfv75Z9xuN8uWLeOdd97h5ptvBmD06NG8+OKLbN++nby8PB544AHq1atHUlKSz36Gp6I5ICJSZUx7eR/W/JE0jsrgSF44hS5LifkeRSFk3dG6nFf7EJNveIuGjeOx2W6sxKpFRKRKKueyuX/7nGU0f/58br31VuLi4ggODuaGG25g4sSJAERGRjJ9+nSuvfZa7rrrLnJychg8eDDHjh2jZcuWLFy4kG7dugFw0003kZKSQlJSEpmZmZx//vksXboUm83/ccAwzYr+yVa+zMxMoqOjycjIICoqqrLLEZEKcCx7H1mHhtMo0nOF80uvfY2urbdz26h5tD1rOwDpGXbeWnglL84awePPPcTV5/6A022wuWA85zRRCBERCSSBer5WVFeX/pOxBYVW6HM7Hfl8t2xSwB2zv6kHREQC3p/Dx5G8SA45Z1EjpB0z3u7A9DdHEBGeS5DNQWZ2JKZpEB8P+cdmsz5tFOfGrKNNyFR+3I1CiIiIeK08y+Z685yiACIiAc7tdnMs5QZaRnnChzN6FufGtuPLLyE318Zjj8GmTeEUFECdOnDvveC5BpMFl2sW67f/EUJ2HG5O8zoXVvYhiYiInNEUQEQkoFksFszIB9ib/ShBsdNJiP3jIkrh4XCKlQsBsFqDOKelJ4S4iOT8Vt38ULGIiFQLf1o2t0KfUxRARCTwnVX/Elyu3litQWVuWxRCDMOKxaKF/0Sk8piu4xjWmuVr684CIwTDCK7gqkT8L6C/jfPy8ujcuTOzZs2q7FJEpJKVJ3z8ua3Ch4hUJjP3HcxjfTAL15W9rTsTM/UGzPQ7Mc1CH1QnpfHlMrxnuoD9Rv7ll19ISkpi7dq1lV2KiIiISLmZphsz/1MwczDTbi4RQnbvhkmT4NprYehQuP12WLnyj9VaPeFjFDg3Q+EGcKVUzkGIVKCADCArV66kV69ejB49mkaNGlV2OSIiIiLlZhgWjJiXILgbmLmYaTez57d1XHaZm2bNTJ5/LoeUPetIO/wNK5Yn07s3nH22k4UL/hQ+jBiM2NkYtsaVfThnDrfpm00qZw5IXl5eiUvK/1m9evVo3749e/fuJTQ0lKlTp/q5OhEREZGKZRihEPMKZtptULiGWMsYooKfYPrTaxh+5VIiwvMAT8/Hl9+ex2tzhtMwambJ8BHUupKP4gyjSeg+UykB5Pvvv6dnz56lPrZw4UKuuuqqMj1fQUEBBQUFxbczMzNPqz4RERGRimYYoezLfIWdP46lR9dveOulezCME/eBpK7ruOiCdRgGHD0ewze/zmbQ1QofUn1UyhCsHj16YJpmqVtZwwfAlClTiI6OLt4aNGjgg6pFRERETs/T/w3lxrun4HDYTgoff2YYnt6QZ169kTv/0RyHw381ioeBDyahV/ZBBYiAnANSVhMmTCAjI6N4279/f2WXJCIiIlJCdjbMnu3iuiHvExTk/Nv9DQOGXbmMlBQbixf7oUARP6kWASQkJISoqKgSm4iIiEgg+egjyMqycsvId7xu0z5xK13O3cjcuW4fVialMk3fbFI9AoiIiIhIoEtJgYiIfBrEHypTu9YttpOSogAi1UfAXwl9z549lV2CiIiIyGmzWMA0yz4LwDQNdC1V//PFhQN1IUIPvZ1FRERE/KBhQ8jNDeG3Xd5f48w04efNbWnQwOrDykT8SwFERERExA/694eaNZ28OnuE122+/7E9G35pyahRWj/J70wfbaIAIiIiIuIPoaFw0002Fi29lMLCvx8Fb5rwwfKLadrUSb9+fihQSjBM0yebVIE5ICIiIiLVxT/vyWR4v9sJDnbichtYLaWfkJqmZxnef9/zMgOu7IjFcp6fKxXxHfWAiIiIiPiB6c6klm0U7c/ezPG0GPoNfZP/PHMbh47UKt6nsDCIdz4YQO+r5vDpF92IjMjlwrY3Yxauq8TKz1BuH22iHhARERERXzPdmZipo8C5GYwY3FGzadKqFVNe6MTkaeNo2iiFoCAnyQdrk54RSY8eLoJqvQLBt0HhGsy0myHmdYxg9YRI1acAIiIiIuJDpunGTLulOHwYsbOpE9SaN96A//7Xyttvw86dDSgshNq1YcgQOPtsK2DFNF/BTPtTCKn5LoateWUf0hnBF3M2NAfEQwFERERExIcMwwIRN2JmHsCI+R9GUOvix2rUgNtu+6u2oRDzewixxIG1ie8LFvExBRAR8Uquw0F4UJDf20rFMM0CwIZhlO9aAqY7F8MSXrFF+dnpHINp5gPBnhNJkXIwQvtByEUYRljZ2xqhEPMqp/NvWMrBF8vmqgME0CR0EfHCi2u/Y9D8uRzNzSlz2yM52Qx85y2mr1/rg8rEG6aZj5l2G2bGA5imq+ztC77FPNYbs/AHH1TnH2beEsxj/TCdO8ve1p2DmToaM/MRTFMzSKX8yhM+/mgbovAh1YZ6QETkL2Xk5zNv0wYO5WRz3XsLmTP4amqHRwCwbx+8/TakpHj2TUiAa67x/Bc84eOaRQvYnZ7GWxt/ZkSb9thDQirpSM5gjo1Q+B3g9PzxLfpJDMOKacLatfDRR5CWBiEh0KYNDB0KEZ5fsSd8pN0K5GPmzsEI7lR5x1FOpunEzJkB7sOYqSMh9i0MWzMAjh2DefNg925wOiEuDq6+Glr/PkLGdOd4xt07fgDnNogYA7aGlXg0IuI3punZKvo5BcM0q99PIjMzk+joaDIyMoiKiqrsckSqvD3paYxYtIBDOdm0iK3JhJZXM+0/4Sz9CCzBLoJrZgJQcCwK02ll4ED4x4M5TP7VEz7q2+28PXgYDaKjK/lIzlxm/ieY6fcATggdyLsrnuTJJ01+/NFG7VoZ1K9zhLz8UH7bFU9UlJtRo2xMfuhbIh2e8EFIEkaNlzCM4Mo+lHIx3am/r0C0FSy1SMl7i4mTmjJ/volpumjWOAWb1cm+5LpkZEbQq5eLhyfl073N7+HDsGPEzMAIbl/ZhyJSbQTq+VpRXUldH8JmC63Q53Y68/nim8cC7pj9TT0gIvK3GteIYd6QoYxYtIDfUo8z8sMFpG7uR8xVvxDZaQuWEAcA7vwgsn84mxXrz2b9hx9jq63wESiM0H5Q4xlPCMlfTP4RqFPjcpbMmUO/Hl9htXqGFu3ZH8/rbw1j85ZWWLPuhtCqHz4ADEssxM4qDiG2rOvY89sLPHr/Sm4cvohaNdMAKCgIYtHSfrz+1jWYac8ofIiI+IB6QETEax99ncYdqxZgjc7GdMOp5uMWPeZKs/N6v2H07aLwESiWLvqEPuffQ1CQs/hKy6Vxuw0sFpOvvr+ITr1fJiKy6oaPP0ven0rqrhtIbLWt+BhLU/SzSc+ws+XgDLr1UPgQqWiBer5W3ANywb990wPy7eMBd8z+pknoIuK15x+L5vj8iz0nZ3/x6WFYPCdwx9++hBeeOHM/YANNVhZcc2MfZs8fBJw6fABYLCZZ2eFces0LzJpdPcIHwJQnY7l6zAs4nNZThg/w/GxMEx568h5uuSNRw7ZFRCqQAoiIeGXHDvh0hYWwDtv+8sS1iGFAaIetLFsKe/f6vj75e3PnQk6OQb+eX3m1vz0yl0t7fcnLLzurxQl4Vha8+aaLqy5bSpDt71cDMwwY1H8Fv/5q48sv/VCgiAQUw+2bTRRARMRLb70FQREFRHTY7nWbyHO3YglxMmeODwsTr82e7WTAxatpEH/I6zZjb5jHr7/a+KHqrsBb7IMPIDvb4Obr5nvdpme372jZbB+zZvmsLBGRM44CiIh4Zd8+CK6TiiXY6XUbS4iD4Nrp7N/vw8LEa/v2mXRs80uZ2nRI3AJQLX6H+/dDzdjsMgUww4D2iZvZt6/s108RkSquaBneit5EAUREvGOagBdDr05kGKY+bwOEZ2J12X4ZRftXh9+h21324we9h0VEKpoCiIh4pX59cByNwXR6/7HhdlgpPBZNvXo+LEy8Vr++wa/bW5Spza/bmwNUi99h/fpwPNXO4aM1vW5jmrBleyvq19cVqEXOOKaPNlEAERHvjBgBhZmh5Gxq7nWbnJ9b4sgJYcQIHxYmXrv2WhsfLL+4TCfgr701nKZNnXTp4sPC/GTQIAgJMZkx72qv23y3vgObtjTnuut8WJiIyBlGAUREvNKmDXS70E3uujZeDUcxTchbl0jvPm5atvR9ffL3Ro0Cm81gySe9vNo/OyecRUv7cdttNizV4NsiJgaGD7fw5sIhOL3oyTNNmLfocpo2ddK3rx8KFJGAYpimTzZRABGRMvjXw7nEXLmq+BoJp1J0EbeYwau476E8/xUofykmBl55bi0jhiz5231NEyIjcpn7ykTG3FR9JmA/OCGXN54Zj83m9uo9PPGeV3jhmb3VIoCJSBlpErrP6CNVRLxyJCeb55IXEBSXhjPVzrGZA8nZ0BzT9cfMdNNlIeenlhybORBneiRBdY/zzL6FHM3NqcTKpYhZ8C0jL7+V8LB8ln2WxE33PMG6n9uW2CctPYpnp4/i1vv/g8Np48pLlhBlPIBpVv0QYrpzaBp7M13PW09Gpp1rxj7HzHcGk5cXUryP223w6RdduWbss/y8uTV1445xSZeRmM6dlVi5iEj1YqvsAkQk8B3JyeaaRQvYnZ5Gfbudu1sP47+f2Pl+RgtCauRiizsOpoHjSE0KM8Lo2s3NPV1rMW3vAn5LPc517y1kzuCrqR0eUdmHcsYyC77FTLsVyIfgJPZnvcSqby3Meucqzmq5h/p1D1JQEMoPGxJxuWxcfTVkG1HEcA/kL/bMm4x+EsOompOxTXcOZtrN4PgBDDvHXTPIdrTh5nsv4f5H/03b1tuw2Zzs2teIPfvq0ratk5TcLnSwjQLnVszUkRD7FoatWWUfioj4iwlU9IUD1QECgGGa1a8vKDMzk+joaDIyMoiKiqrsckSqtMyCfAbNn1ccPt4ePIwG0dEA/PwzzJkDycme4Srx8TByJLRr52m7Jz2NEYsWcCgnmxaxNXn36muwh4Sc+sXEJ8zCnzBTbwDyISQJo8ZLGEYwLhcsXw5LlkBaGoSGQmKiZ65InTq/t83/BDP9HsAJYVdhiX6iEo+kfEzT6Tl+xzow7BgxMzCC2wOwcyfMmgW7d4PDAXFxMGwYdOvmeU+b7lTM1FHg3AqWWhg1F2JY4yv1eESqi0A9Xyuqq+c5E7BZQyv0uZ2ufFb9OCXgjtnf1AMiIn/JHhxCUqPGFLicJcIHQIcOnu1UGteIYd6QoYxYtIAejZsQGRzs83qlFLbmENQSLDHF4QPAaoXLLvNsp2KE9oMaz2Bm/Asj5GI/FVyxDMMGof0wnVtLhA+AZs3gscf+oq0lFmJneUKItTFY4nxer4gEBl9MGtckdA/1gIjI3zJNk9S8PGqGh5er/fHcXGLDwjCMclzJUCqE6c4CI6Q4fJS9farnZLwKO51jMN0ZYIRjGEEVXJXImStQz9eK6urVcbxPekBW/jQ14I7Z39QDIiJ/yzCMcocP4LTaSsUwLPbTbF+1wwec3jEYlui/30lEqheTil+1qtr92b98tAqWiIiIiIj4jXpARERERERO5IvrdlS/mQ/logAiIiIiInIiN1DRUxcrelnfKkpDsERERERExG/UAyIiIiIicgItw+s76gEREREREQlQR44cYfDgwdjtdmrVqsW4ceNwOByl7vvss8/SokULoqKiaNOmDfPnzy9+zDRNoqOjiYiIIDIysnjLycnx16EUUwARERERETlR0ST0it7KaPjw4dhsNlJSUtiwYQMrV65k8uTJJ+33xhtv8PTTT/P++++TkZHB1KlTGTVqFGvXrgVg+/bt5Obmcvz4cbKzs4u3iIiI0/5RlZUCiIiIiIhIANq5cyerVq1i2rRp2O124uPjGT9+PDNnzjxp3yNHjvDggw/Spk0bDMPgsssu46yzzuLrr78GYN26dSQmJhIaWrEXVywPBRARERERkRMFQA/Ipk2biI2NJSEhofi+du3akZycTHp6eol9J0yYwO233158e8eOHfz666+cd955gCeAuN1uunbtSu3atbnooov45ptvyv/zOQ0KICIiIiIifpSZmVliKygoKHW/rKysk4ZIFd3Ozs4+5fNv27aNSy65hBEjRnDhhRcCEBISQqdOnVi0aBH79+9n4MCB9O3bl127dlXQUXlPAURERERE5EQ+7AFp0KAB0dHRxduUKVNKLcFut580Sbzott1uL7XNihUr6NKlCxdffDGvv/568f1PPfUUM2bMoF69eoSGhnLffffRqFEjli1bVhE/rTLRMrwiIiIiIify4YUI9+/fT1RUVPHdISEhpe6emJhIamoqycnJxMfHA7Bx40YSEhKIjo4+af+nn36aSZMm8fzzzzNmzJgSj02aNIkrr7ySc845p/i+goICIiMjT/eoykw9ICIiIiIifhQVFVViO1UAadGiBd27d2f8+PHk5eWxe/duHn/88ZPCBcDrr7/Oo48+ysqVK0t9fPPmzYwbN47Dhw9TUFDAY489Rm5uLgMHDqzw4/s7CiAiIiIiIicouhBhRW9lNX/+fNLT04mLi6NTp07079+fiRMnAhAZGcncuXMBePTRR8nLy6NPnz4lrvPxxBNPADBjxgxat25N27ZtqV+/Pt9++y0rV64kNja24n5oXtIQLBERERGRAFW/fn2W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9XlTQ2xsbIk2YWFhuFwu9u3bV1xTkebNm//ta9arV6/4/4ODg3E4HKXut3//fhITE4tvHzp0iIYNG2Kx/PE3q9atWwMUh5g6deoAYLVaAYiJiSne12azlfj5xMfHk5WVRWpq6knHKCIi1Z8CiIhUSwcOHCA+Pp7PPvsMh8PBp59+ypVXXklSUhINGjSgZ8+eJf4Kn5GRQUZGRvHt5OTkEs+3e/duGjduzL59+xg6dCgff/wxffr0AWDOnDksWrSoTPV5U8OpNGzYEPAMfWrVqlXx/1ekPweGhg0bsn//fkzTLF5Na/HixWRmZpKQkABQIpz8naKQIiIiZyYNwRKRaun777+nT58+rFu3jqCgIOLi4rBYLNSrV48RI0bw7bff8uabb+J0Ojl69ChXXXUV9913X3H7ojkZLpeL5cuXs3jxYm655Rby8vJwuVzFJ9wbNmzg8ccfBzhlj0JpvKnhVOrWrcvAgQO5//77SUtLIzU19aR2ISEhpKene13PnzVu3LhEALvssstwOBw8+eSTFBYWsm/fPv75z3+Sm5tbruc/dOgQERER6v0QETlDKYCISLU0ZMgQJkyYwNVXX43dbmfEiBG89NJLdOrUiUaNGrFixQreeOMN4uLiSExMpGHDhiUmRnfo0IH58+dTq1Ytxo8fz6JFi2jfvj2tWrXiqaee4tprr8Vut3Pvvffy0ksvYbPZ+Pnnn72uz5sa/srs2bOpUaMGLVu2pFOnTpx77rmAZ2gVwHXXXce///3vci15269fvxLX/4iKiuLTTz9lxYoV1K1bl+7du3PTTTdxyy23lPm5AdauXUu/fv3K1VZERKo+wyxa81FERADPErirV69m9erVlV3KKX322Wd07dqV8PBwwLNMbufOncnOziY0NPS0nruwsJDmzZuzYMECunTpUhHlltChQweeeOIJ+vfvX+HPLSIigU89ICIiVdB9993HY489hsvlIisri6effpo+ffqcdvgATy/Kww8/zDPPPFMBlZa0YsUKatSoofAhInIGUwAREamC3nrrLb777jtq1qxJ48aNMQyD2bNnV9jz33TTTeTl5ZUYinW6HA4HkyZNYubMmRX2nCIiUvVoCJaIiIiIiPiNekBERERERMRvFEBERERERMRvFEBERERERMRvFEBERERERMRvFEBERERERMRvFEBERERERMRvFEBERERERMRvFEBERERERMRvFEBERERERMRv/h9evyvSE1/MlAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 8. 可视化（以两个特征为例）\n",
    "plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']  # macOS 系统\n",
    "# plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认中文字体（如黑体）\n",
    "plt.figure(figsize=(10, 6))\n",
    "plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap='viridis', edgecolor='b', s=100, label='Predicted')\n",
    "plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap='viridis', marker='x', s=150, label='True')\n",
    "plt.xlabel(feature_names[0])\n",
    "plt.ylabel(feature_names[1])\n",
    "plt.title(\"KNN分类结果（花萼长度 vs 花萼宽度）\")\n",
    "plt.legend()\n",
    "plt.colorbar(label='类别')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ce224249-8cbd-4a63-a2e4-e97a11b3da5c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
